Skip to content
GitGitGadget's Git fork. Open Pull Requests here to submit them to the Git mailing list
Branch: master
Clone or download
Pull request Compare This branch is even with git:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github
Documentation
block-sha1
builtin
ci ci: fix AsciiDoc/Asciidoctor stderr check in the documentation build job Apr 5, 2019
compat
contrib
ewah
git-gui Merge branch 'cb/git-gui-ttk-style' Apr 25, 2018
gitk-git
gitweb
mergetools
negotiator
perl Git.pm: make hash size independent Apr 1, 2019
po l10n: Fixes to Catalan translation Mar 2, 2019
ppc
refs
sha1collisiondetection @ 1603399
sha1dc Makefile: fix unaligned loads in sha1dc with UBSan Mar 13, 2019
sha256
t
templates
trace2 trace2: NULL is not allowed for va_list Mar 20, 2019
vcs-svn
xdiff
.clang-format trace2: add for_each macros to clang-format Feb 22, 2019
.editorconfig
.gitattributes
.gitignore
.gitmodules
.mailmap
.travis.yml
.tsan-suppressions
COPYING
GIT-VERSION-GEN
INSTALL
LGPL-2.1
Makefile
README.md
RelNotes
abspath.c
aclocal.m4
advice.c
advice.h
alias.c
alias.h
alloc.c
alloc.h
apply.c
apply.h
archive-tar.c archive: convert struct archiver_args to object_id Apr 1, 2019
archive-zip.c
archive.c
archive.h archive: convert struct archiver_args to object_id Apr 1, 2019
argv-array.c Merge branch 'ma/unpack-trees-free-msgs' May 30, 2018
argv-array.h
attr.c
attr.h
azure-pipelines.yml
banned.h
base85.c
bisect.c
bisect.h
blame.c
blame.h
blob.c blob: allow lookup_blob to handle arbitrary repositories Jun 29, 2018
blob.h
branch.c
branch.h
builtin.h
bulk-checkin.c
bulk-checkin.h
bundle.c
bundle.h create_bundle(): drop unused "header" parameter Jan 24, 2019
cache-tree.c Merge branch 'jk/loose-object-cache-oid' Feb 7, 2019
cache-tree.h cache.h: flip NO_THE_INDEX_COMPATIBILITY_MACROS switch Jan 24, 2019
cache.h
chdir-notify.c add chdir-notify API Mar 30, 2018
chdir-notify.h add chdir-notify API Mar 30, 2018
check-builtins.sh
check_bindir
checkout.c
checkout.h checkout: pass the "num_matches" up to callers Jun 11, 2018
color.c
color.h
column.c
column.h
combine-diff.c Merge branch 'en/combined-all-paths' Mar 7, 2019
command-list.txt
commit-graph.c
commit-graph.h commit-graph write: don't die if the existing graph is corrupt Apr 1, 2019
commit-reach.c
commit-reach.h
commit-slab-decl.h
commit-slab-impl.h
commit-slab.h commit-slab: support shared commit-slab May 21, 2018
commit.c
commit.h
common-main.c
config.c
config.h
config.mak.dev Makefile: allow for combining DEVELOPER=1 and CFLAGS="..." Feb 24, 2019
config.mak.in
config.mak.uname
configure.ac
connect.c
connect.h
connected.c fetch-pack: write shallow, then check connectivity Jul 3, 2018
connected.h
convert.c Merge branch 'jh/resize-convert-scratch-buffer' Apr 9, 2019
convert.h
copy.c
credential-cache--daemon.c
credential-cache.c Merge branch 'dl/credential-cache-socket-in-xdg-cache' into maint Aug 23, 2017
credential-store.c
credential.c credential: ignore SIGPIPE when writing to credential helpers Mar 29, 2018
credential.h credential: let helpers tell us to quit Dec 4, 2014
csum-file.c
csum-file.h
ctype.c
daemon.c
date.c
decorate.c
decorate.h decorate: clean up and document API Dec 8, 2017
delta-islands.c
delta-islands.h
delta.h
detect-compiler
diff-delta.c Merge branch 'mk/diff-delta-avoid-large-offset' Sep 28, 2017
diff-lib.c
diff-no-index.c
diff.c
diff.h
diffcore-break.c
diffcore-delta.c
diffcore-order.c
diffcore-pickaxe.c
diffcore-rename.c Merge branch 'nd/the-index' Oct 19, 2018
diffcore.h
dir-iterator.c
dir-iterator.h Add missing includes and forward declarations Aug 15, 2018
dir.c
dir.h
editor.c
entry.c Merge branch 'tg/checkout-no-overlay' Mar 7, 2019
environment.c
exec-cmd.c
exec-cmd.h Merge branch 'dj/runtime-prefix' May 8, 2018
fast-import.c Merge branch 'bc/hash-transition-16' Apr 25, 2019
fetch-negotiator.c
fetch-negotiator.h
fetch-object.c
fetch-object.h
fetch-pack.c Merge branch 'jk/fetch-reachability-error-fix' Apr 25, 2019
fetch-pack.h
fmt-merge-msg.h fmt-merge-msg: use branch.$name.description Oct 7, 2011
fsck.c
fsck.h
fsmonitor.c
fsmonitor.h Add missing includes and forward declarations Aug 15, 2018
fuzz-commit-graph.c
fuzz-pack-headers.c
fuzz-pack-idx.c fuzz: add fuzz testing for packfile indices. Oct 15, 2018
generate-cmdlist.sh
gettext.c
gettext.h
git-add--interactive.perl
git-archimport.perl
git-bisect.sh bisect--helper: `bisect_start` shell function partially in C Jan 2, 2019
git-compat-util.h trace2: create new combined trace facility Feb 22, 2019
git-cvsexportcommit.perl
git-cvsimport.perl
git-cvsserver.perl
git-difftool--helper.sh
git-filter-branch.sh
git-instaweb.sh
git-legacy-stash.sh
git-merge-octopus.sh
git-merge-one-file.sh
git-merge-resolve.sh
git-mergetool--lib.sh mergetools: add support for smerge (Sublime Merge) Apr 4, 2019
git-mergetool.sh
git-p4.py
git-parse-remote.sh
git-quiltimport.sh
git-rebase--am.sh rebase: define linearization ordering and enforce it Dec 28, 2018
git-rebase--common.sh
git-rebase--preserve-merges.sh
git-remote-testgit.sh
git-request-pull.sh
git-send-email.perl
git-sh-i18n.sh i18n: make GETTEXT_POISON a runtime option Nov 9, 2018
git-sh-setup.sh
git-submodule.sh
git-svn.perl
git-web--browse.sh
git.c Merge branch 'js/difftool-no-index' Apr 25, 2019
git.rc
gpg-interface.c
gpg-interface.h
graph.c
graph.h
grep.c
grep.h grep: remove #ifdef NO_PTHREADS Nov 5, 2018
hash.h
hashmap.c
hashmap.h Merge branch 'rb/hashmap-h-compilation-fix' into maint Mar 22, 2018
help.c
help.h help.h: fix coding style Dec 12, 2018
hex.c hex: introduce functions to print arbitrary hashes Nov 14, 2018
http-backend.c
http-fetch.c
http-push.c http-push: remove remaining uses of sha1_to_hex Apr 1, 2019
http-walker.c Merge branch 'bc/hash-transition-16' Apr 25, 2019
http.c
http.h
ident.c
imap-send.c
interdiff.c interdiff: teach show_interdiff() to indent interdiff Jul 23, 2018
interdiff.h
iterator.h
json-writer.c
json-writer.h
khash.h
kwset.c
kwset.h Replace Free Software Foundation address in license notices Nov 9, 2017
levenshtein.c convert trivial cases to ALLOC_ARRAY Feb 22, 2016
levenshtein.h
line-log.c line-log: suppress diff output with "-s" Mar 8, 2019
line-log.h
line-range.c
line-range.h
linear-assignment.c
linear-assignment.h
list-objects-filter-options.c completion: add more parameter value completion Feb 20, 2019
list-objects-filter-options.h
list-objects-filter.c
list-objects-filter.h
list-objects.c
list-objects.h list-objects: consume sparse tree walk Jan 17, 2019
list.h
ll-merge.c
ll-merge.h Merge branch 'en/merge-path-collision' Jan 4, 2019
lockfile.c
lockfile.h reopen_tempfile(): truncate opened file Sep 5, 2018
log-tree.c
log-tree.h
ls-refs.c
ls-refs.h ls-refs: introduce ls-refs server command Mar 15, 2018
mailinfo.c mailinfo: support format=flowed Aug 29, 2018
mailinfo.h
mailmap.c object-store: move object access functions to object-store.h May 16, 2018
mailmap.h
match-trees.c Merge branch 'jk/unused-parameter-cleanup' Feb 7, 2019
mem-pool.c
mem-pool.h
merge-blobs.c
merge-blobs.h
merge-recursive.c
merge-recursive.h
merge.c read-cache.c: kill read_index() Jan 14, 2019
mergesort.c
mergesort.h
midx.c
midx.h
name-hash.c cache.h: flip NO_THE_INDEX_COMPATIBILITY_MACROS switch Jan 24, 2019
notes-cache.c
notes-cache.h
notes-merge.c
notes-merge.h notes-merge.c: remove implicit dependency on the_index Nov 12, 2018
notes-utils.c
notes-utils.h
notes.c
notes.h
object-store.h
object.c
object.h
oidmap.c
oidmap.h
oidset.c
oidset.h
pack-bitmap-write.c
pack-bitmap.c
pack-bitmap.h pack-bitmap: switch hash tables to use struct object_id Apr 1, 2019
pack-check.c
pack-objects.c
pack-objects.h pack-objects: drop unused parameter from oe_map_new_pack() Feb 14, 2019
pack-revindex.c
pack-revindex.h
pack-write.c
pack.h
packfile.c
packfile.h
pager.c
parse-options-cb.c diff-parseopt: convert --[no-]abbrev Mar 24, 2019
parse-options.c
parse-options.h
patch-delta.c
patch-ids.c Merge branch 'nd/the-index' Oct 19, 2018
patch-ids.h patch-ids.c: remove implicit dependency on the_index Sep 21, 2018
path.c
path.h
pathspec.c Merge branch 'nd/the-index-final' Feb 7, 2019
pathspec.h dir.c: move, rename and export match_attrs() Nov 19, 2018
pkt-line.c
pkt-line.h
preload-index.c
pretty.c pretty: drop unused strbuf from parse_padding_placeholder() Mar 20, 2019
pretty.h
prio-queue.c
prio-queue.h
progress.c Merge branch 'jk/xmalloc' Apr 25, 2019
progress.h Merge branch 'sg/overlong-progress-fix' Apr 25, 2019
prompt.c
prompt.h
protocol.c tests: define GIT_TEST_PROTOCOL_VERSION Mar 7, 2019
protocol.h protocol: introduce enum protocol_version value protocol_v2 Mar 14, 2018
quote.c
quote.h
range-diff.c
range-diff.h format-patch: do not let its diff-options affect --range-diff Nov 30, 2018
reachable.c prune: use bitmaps for reachability traversal Feb 14, 2019
reachable.h
read-cache.c Merge branch 'bc/hash-transition-16' Apr 25, 2019
rebase-interactive.c rebase-interactive: rewrite edit_todo_list() to handle the initial edit Mar 7, 2019
rebase-interactive.h rebase-interactive: rewrite edit_todo_list() to handle the initial edit Mar 7, 2019
ref-filter.c parse_opt_ref_sorting: always use with NONEG flag Mar 21, 2019
ref-filter.h
reflog-walk.c
reflog-walk.h
refs.c
refs.h
refspec.c
refspec.h
remote-curl.c
remote-testsvn.c
remote.c
remote.h
replace-object.c Merge branch 'ds/commit-graph-with-grafts' into maint Nov 21, 2018
replace-object.h commit-graph: not compatible with replace objects Aug 21, 2018
repository.c
repository.h
rerere.c
rerere.h rerere.c: remove the_repository references Nov 12, 2018
resolve-undo.c
resolve-undo.h
revision.c Merge branch 'jk/revision-rewritten-parents-in-prio-queue' Apr 25, 2019
revision.h
run-command.c
run-command.h
send-pack.c
send-pack.h
sequencer.c Merge branch 'pw/cherry-pick-continue' Apr 25, 2019
sequencer.h
serve.c
serve.h serve: introduce git-serve Mar 15, 2018
server-info.c
setup.c
sh-i18n--envsubst.c trace2: create new combined trace facility Feb 22, 2019
sha1-array.c
sha1-array.h
sha1-file.c
sha1-lookup.c
sha1-lookup.h
sha1-name.c
sha1dc_git.c
sha1dc_git.h sha1dc_git.h: re-arrange an ifdef chain for a subsequent change Dec 8, 2017
shallow.c
shell.c
shortlog.h
sideband.c
sideband.h
sigchain.c
sigchain.h
split-index.c
split-index.h
strbuf.c
strbuf.h
streaming.c
streaming.h
string-list.c
string-list.h
sub-process.c
sub-process.h Docs: split out long-running subprocess handshake Jan 25, 2018
submodule-config.c
submodule-config.h
submodule.c
submodule.h
symlinks.c Indent code with TABs Dec 9, 2018
tag.c
tag.h tag.c: allow deref_tag to handle arbitrary repositories Jun 29, 2018
tar.h
tempfile.c
tempfile.h
thread-utils.c
thread-utils.h
tmp-objdir.c
tmp-objdir.h tmp-objdir: introduce API for temporary object directories Oct 10, 2016
trace.c
trace.h
trace2.c
trace2.h
trailer.c
trailer.h
transport-helper.c trace2:data: add trace2 transport child classification Feb 22, 2019
transport-internal.h
transport.c
transport.h
tree-diff.c Merge branch 'bc/tree-walk-oid' Jan 29, 2019
tree-walk.c
tree-walk.h
tree.c
tree.h
unicode-width.h
unimplemented.sh
unix-socket.c
unix-socket.h
unpack-trees.c
unpack-trees.h
upload-pack.c
upload-pack.h fetch-pack: perform a fetch using v2 Mar 15, 2018
url.c
url.h
urlmatch.c
urlmatch.h
usage.c trace2: create new combined trace facility Feb 22, 2019
userdiff.c
userdiff.h notes-cache.c: remove the_repository references Nov 12, 2018
utf8.c
utf8.h
varint.c cleanups: ensure that git-compat-util.h is included first Sep 15, 2014
varint.h cleanups: ensure that git-compat-util.h is included first Sep 15, 2014
version.c
version.h
versioncmp.c
walker.c
walker.h
wildmatch.c wildmatch: change behavior of "foo**bar" in WM_PATHNAME mode Oct 29, 2018
wildmatch.h
worktree.c
worktree.h Merge branch 'nd/per-worktree-ref-iteration' Nov 13, 2018
wrap-for-bin.sh Make running git under other debugger-like programs easy Apr 25, 2018
wrapper.c
write-or-die.c write_or_die.c: rename to use dashes in file name Apr 11, 2018
ws.c Merge branch 'nd/the-index' Oct 19, 2018
wt-status.c trace2:data: add trace2 regions to wt-status Feb 22, 2019
wt-status.h wt-status.c: remove implicit dependency the_repository Nov 12, 2018
xdiff-interface.c
xdiff-interface.h
zlib.c

README.md

Build Status

Git - fast, scalable, distributed revision control system

Git is a fast, scalable, distributed revision control system with an unusually rich command set that provides both high-level operations and full access to internals.

Git is an Open Source project covered by the GNU General Public License version 2 (some parts of it are under different licenses, compatible with the GPLv2). It was originally written by Linus Torvalds with help of a group of hackers around the net.

Please read the file INSTALL for installation instructions.

Many Git online resources are accessible from https://git-scm.com/ including full documentation and Git related tools.

See Documentation/gittutorial.txt to get started, then see Documentation/giteveryday.txt for a useful minimum set of commands, and Documentation/git-.txt for documentation of each command. If git has been correctly installed, then the tutorial can also be read with man gittutorial or git help tutorial, and the documentation of each command with man git-<commandname> or git help <commandname>.

CVS users may also want to read Documentation/gitcvs-migration.txt (man gitcvs-migration or git help cvs-migration if git is installed).

The user discussion and development of Git take place on the Git mailing list -- everyone is welcome to post bug reports, feature requests, comments and patches to git@vger.kernel.org (read Documentation/SubmittingPatches for instructions on patch submission). To subscribe to the list, send an email with just "subscribe git" in the body to majordomo@vger.kernel.org. The mailing list archives are available at https://public-inbox.org/git/, http://marc.info/?l=git and other archival sites.

Issues which are security relevant should be disclosed privately to the Git Security mailing list git-security@googlegroups.com.

The maintainer frequently sends the "What's cooking" reports that list the current status of various development topics to the mailing list. The discussion following them give a good reference for project status, development direction and remaining tasks.

The name "git" was given by Linus Torvalds when he wrote the very first version. He described the tool as "the stupid content tracker" and the name as (depending on your mood):

  • random three-letter combination that is pronounceable, and not actually used by any common UNIX command. The fact that it is a mispronunciation of "get" may or may not be relevant.
  • stupid. contemptible and despicable. simple. Take your pick from the dictionary of slang.
  • "global information tracker": you're in a good mood, and it actually works for you. Angels sing, and a light suddenly fills the room.
  • "goddamn idiotic truckload of sh*t": when it breaks
You can’t perform that action at this time.