Git with broken hash generation to generate collisions between object IDs. Don't use this! https://undefinedbehavior.de/posts/commit-vandalism/
Go to file
Matthew Rogers 6766e41b8a config: clarify meaning of command line scoping
CONFIG_SCOPE_CMDLINE is generally used in the code to refer to config
values passed in via the -c option.  Options passed in using this
mechanism share similar scoping characteristics with the --file and
--blob options of the 'config' command, namely that they are only in use
for that single invocation of git, and that they supersede the normal
system/global/local hierarchy.  This patch introduces
CONFIG_SCOPE_COMMAND to reflect this new idea, which also makes
CONFIG_SCOPE_CMDLINE redundant.

Signed-off-by: Matthew Rogers <mattr94@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-02-10 10:39:02 -08:00
.github point pull requesters to GitGitGadget 2019-03-13 11:07:50 +09:00
block-sha1
builtin config: fix typo in variable name 2020-01-24 10:42:13 -08:00
ci Merge branch 'sg/osx-force-gcc-9' 2019-12-06 15:09:21 -08:00
compat Merge branch 'js/mingw-reserved-filenames' 2020-01-02 12:38:30 -08:00
contrib Merge branch 'dl/pretty-reference' 2019-12-10 13:11:43 -08:00
Documentation Revert "Merge branch 'ra/rebase-i-more-options'" 2020-01-12 13:25:18 -08:00
ewah ewok_rlw.h: add missing 'inline' to function definition 2018-10-29 10:14:19 +09:00
git-gui Merge https://github.com/prati0100/git-gui 2020-01-08 11:18:06 -08:00
gitk-git
gitweb Merge branch 'do/gitweb-typofix-in-comments' 2020-01-08 12:44:11 -08:00
mergetools
negotiator Merge branch 'jt/fetch-negotiator-skipping' 2018-08-02 15:30:46 -07:00
perl
po l10n: zh_CN: for git v2.25.0 l10n round 1 2020-01-12 19:22:02 +08:00
ppc
refs refs: pass NULL to refs_read_ref_full() because object ID is not needed 2019-12-11 13:48:42 -08:00
sha1collisiondetection@855827c583
sha1dc Merge branch 'jk/lore-is-the-archive' 2019-12-06 15:09:23 -08:00
sha256
t config: clarify meaning of command line scoping 2020-02-10 10:39:02 -08:00
templates Merge branch 'kw/fsmonitor-watchman-fix' 2019-12-01 09:04:33 -08:00
trace2 Merge branch 'en/doc-typofix' 2019-12-01 09:04:35 -08:00
vcs-svn
xdiff Merge branch 'rs/xdiff-ignore-ws-w-func-context' 2019-12-16 13:08:32 -08:00
.cirrus.yml CI: add FreeBSD CI support via Cirrus-CI 2019-12-20 12:09:12 -08:00
.clang-format
.editorconfig
.gitattributes Mark .bat files as requiring CR/LF endings 2019-06-20 14:03:05 -07:00
.gitignore sparse-checkout: create builtin with 'list' subcommand 2019-11-22 16:11:43 +09:00
.gitmodules sha1dc: optionally use sha1collisiondetection as a submodule 2017-07-03 10:09:34 -07:00
.mailmap mailmap: mask accentless variant for Công Danh 2019-12-26 09:53:09 -08:00
.travis.yml
.tsan-suppressions
abspath.c
aclocal.m4
add-interactive.c built-in add -p: implement hunk editing 2019-12-13 12:37:14 -08:00
add-interactive.h built-in add -p: implement hunk editing 2019-12-13 12:37:14 -08:00
add-patch.c built-in add -p: show helpful hint when nothing can be staged 2019-12-13 12:37:14 -08:00
advice.c submodule--helper: advise on fatal alternate error 2019-12-03 08:49:45 -08:00
advice.h submodule--helper: advise on fatal alternate error 2019-12-03 08:49:45 -08:00
alias.c alias.c: mark split_cmdline_strerror() strings for translation 2018-11-12 14:47:09 +09:00
alias.h
alloc.c
alloc.h object_as_type: initialize commit-graph-related fields of 'struct commit' 2019-01-27 16:55:57 -08:00
apply.c Merge branch 'js/add-i-a-bit-more-tests' 2019-12-16 13:08:47 -08:00
apply.h
archive-tar.c
archive-zip.c Merge branch 'rs/archive-zip-code-cleanup' 2019-12-16 13:14:47 -08:00
archive.c tree-walk.c: remove the_repo from get_tree_entry() 2019-06-27 12:45:17 -07:00
archive.h
argv-array.c argv-array: add space after while 2019-11-20 13:29:02 +09:00
argv-array.h
attr.c
attr.h
azure-pipelines.yml
banned.h
base85.c
bisect.c
bisect.h
blame.c
blame.h Merge branch 'br/blame-ignore' 2019-07-19 11:30:20 -07:00
blob.c
blob.h
branch.c
branch.h Merge branch 'nd/switch-and-restore' 2019-07-09 15:25:44 -07:00
builtin.h sparse-checkout: create builtin with 'list' subcommand 2019-11-22 16:11:43 +09:00
bulk-checkin.c
bulk-checkin.h
bundle.c bundle-create: progress output control 2019-11-11 11:46:28 +09:00
bundle.h
cache-tree.c
cache-tree.h
cache.h Merge branch 'ds/sparse-cone' 2020-01-06 14:17:51 -08:00
chdir-notify.c
chdir-notify.h
check_bindir
check-builtins.sh
checkout.c
checkout.h
CODE_OF_CONDUCT.md
color.c color: protect against out-of-bounds reads and writes 2018-08-03 08:52:05 -07:00
color.h
column.c
column.h
combine-diff.c
command-list.txt Merge branch 'ds/sparse-cone' 2019-12-25 11:21:58 -08:00
commit-graph.c Merge branch 'ds/commit-graph-set-size-mult' 2020-01-06 14:17:51 -08:00
commit-graph.h upload-pack: disable commit graph more gently for shallow traversal 2019-09-12 12:30:08 -07:00
commit-reach.c commit-graph: fix writing first commit-graph during fetch 2019-10-25 11:19:16 +09:00
commit-reach.h
commit-slab-decl.h
commit-slab-impl.h commit-slabs: move MAYBE_UNUSED out 2018-10-24 14:52:50 +09:00
commit-slab.h
commit.c Merge branch 'jk/cleanup-object-parsing-and-fsck' 2019-12-01 09:04:28 -08:00
commit.h Fix spelling errors in code comments 2019-11-10 16:00:54 +09:00
common-main.c common-main: delay trace2 initialization 2019-08-06 13:09:01 -07:00
config.c config: clarify meaning of command line scoping 2020-02-10 10:39:02 -08:00
config.h config: clarify meaning of command line scoping 2020-02-10 10:39:02 -08:00
config.mak.dev
config.mak.in Merge branch 'jc/remove-export-from-config-mak-in' 2013-04-01 09:00:02 -07:00
config.mak.uname Sync with 2.23.1 2019-12-06 16:31:39 +01:00
configure.ac Merge branch 'dd/sequencer-utf8' 2019-12-01 09:04:36 -08:00
connect.c Sync with 2.23.1 2019-12-06 16:31:39 +01:00
connect.h
connected.c
connected.h clone: do faster object check for partial clones 2019-04-21 14:08:53 +09:00
convert.c Merge branch 'rs/skip-iprefix' 2019-12-01 09:04:36 -08:00
convert.h am: reload .gitattributes after patching it 2019-09-03 15:16:18 -07:00
copy.c
COPYING Update COPYING with GPLv2 with new FSF address 2010-01-17 14:29:37 -08:00
credential-cache--daemon.c
credential-cache.c Merge branch 'dl/credential-cache-socket-in-xdg-cache' 2017-08-11 13:27:06 -07:00
credential-store.c strbuf: give URL-encoding API a char predicate fn 2019-06-28 08:41:53 -07:00
credential.c
credential.h credential: move doc to credential.h 2019-11-18 15:21:29 +09:00
csum-file.c
csum-file.h
ctype.c
daemon.c
date.c date.c: switch to reentrant {gm,local}time_r 2019-11-30 13:50:48 -08:00
decorate.c
decorate.h
delta-islands.c Merge branch 'jk/oidhash' 2019-07-09 15:25:43 -07:00
delta-islands.h
delta.h
detect-compiler
diff-delta.c
diff-lib.c
diff-no-index.c Merge branch 'nd/diff-parseopt-4' 2019-04-25 16:41:12 +09:00
diff.c Merge branch 'js/builtin-add-i' 2019-12-05 12:52:43 -08:00
diff.h Merge branch 'hw/doc-in-header' 2019-12-16 13:08:39 -08:00
diffcore-break.c
diffcore-delta.c
diffcore-order.c
diffcore-pickaxe.c
diffcore-rename.c
diffcore.h diff: move doc to diff.h and diffcore.h 2019-11-18 15:21:28 +09:00
dir-iterator.c
dir-iterator.h
dir.c Merge branch 'en/fill-directory-fixes' 2019-12-25 11:22:02 -08:00
dir.h Merge branch 'ds/sparse-cone' 2019-12-25 11:21:58 -08:00
editor.c
entry.c
environment.c Merge branch 'ds/sparse-cone' 2019-12-25 11:21:58 -08:00
exec-cmd.c trace2: create new combined trace facility 2019-02-22 15:27:59 -08:00
exec-cmd.h
fast-import.c Sync with 2.23.1 2019-12-06 16:31:39 +01:00
fetch-negotiator.c
fetch-negotiator.h
fetch-pack.c Merge branch 'ec/fetch-mark-common-refs-trace2' 2019-12-05 12:52:44 -08:00
fetch-pack.h
fmt-merge-msg.h
fsck.c Sync with Git 2.24.1 2019-12-09 22:17:55 -08:00
fsck.h
fsmonitor.c unpack-trees: skip stat on fsmonitor-valid files 2019-11-21 12:48:18 +09:00
fsmonitor.h
fuzz-commit-graph.c
fuzz-pack-headers.c
fuzz-pack-idx.c
generate-cmdlist.sh
gettext.c
gettext.h
git-add--interactive.perl git add -p: use non-zero exit code when the diff generation failed 2019-12-06 08:57:34 -08:00
git-archimport.perl
git-bisect.sh
git-compat-util.h Sync with Git 2.24.1 2019-12-09 22:17:55 -08:00
git-cvsexportcommit.perl
git-cvsimport.perl
git-cvsserver.perl
git-difftool--helper.sh mergetool: use get_merge_tool function 2019-05-13 23:11:59 +09:00
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
git-mergetool.sh
git-p4.py Merge branch 'bk/p4-misc-usability' 2020-01-02 12:38:29 -08:00
git-parse-remote.sh
git-quiltimport.sh
git-rebase--preserve-merges.sh
git-request-pull.sh
git-send-email.perl
git-sh-i18n.sh
git-sh-setup.sh
git-submodule.sh Merge branch 'dl/submodule-set-url' 2019-12-10 13:11:42 -08:00
git-svn.perl git svn: stop using rebase --preserve-merges 2019-11-23 09:49:23 +09:00
GIT-VERSION-GEN Git 2.25 2020-01-13 10:16:43 -08:00
git-web--browse.sh
git.c sparse-checkout: create builtin with 'list' subcommand 2019-11-22 16:11:43 +09:00
git.rc
gpg-interface.c gpg-interface: prefer check_signature() for GPG verification 2019-11-30 13:52:35 -08:00
gpg-interface.h gpg-interface: prefer check_signature() for GPG verification 2019-11-30 13:52:35 -08:00
graph.c graph: fix lack of color in horizontal lines 2020-01-08 09:37:18 -08:00
graph.h
grep.c grep: don't return an expression from pcre2_free() 2019-11-30 14:06:58 -08:00
grep.h
hash.h
hashmap.c
hashmap.h Merge branch 'en/doc-typofix' 2019-12-01 09:04:35 -08:00
help.c
help.h
hex.c hex: drop sha1_to_hex() 2019-11-13 10:09:10 +09:00
http-backend.c
http-fetch.c Merge branch 'ma/http-walker-no-partial' 2018-05-08 15:59:35 +09:00
http-push.c
http-walker.c
http.c Merge branch 'cb/curl-use-xmalloc' 2019-12-01 09:04:33 -08:00
http.h
ident.c
imap-send.c
INSTALL Merge branch 'ar/install-doc-update-cmds-needing-the-shell' 2019-12-01 09:04:41 -08:00
interdiff.c
interdiff.h
iterator.h
json-writer.c
json-writer.h
khash.h
kwset.c
kwset.h
levenshtein.c convert trivial cases to ALLOC_ARRAY 2016-02-22 14:51:09 -08:00
levenshtein.h
LGPL-2.1
line-log.c Merge branch 'sg/line-log-tree-diff-optim' 2019-09-18 11:50:09 -07:00
line-log.h *.[ch]: remove extern from function declarations using spatch 2019-05-05 15:20:06 +09:00
line-range.c
line-range.h
linear-assignment.c
linear-assignment.h
list-objects-filter-options.c Merge branch 'jk/partial-clone-sparse-blob' 2019-10-07 11:32:54 +09:00
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 2019-01-17 13:44:39 -08:00
list.h
ll-merge.c
ll-merge.h
lockfile.c
lockfile.h
log-tree.c Merge branch 'hi/gpg-use-check-signature' 2019-12-10 13:11:45 -08:00
log-tree.h
ls-refs.c
ls-refs.h
mailinfo.c
mailinfo.h
mailmap.c
mailmap.h Add missing includes and forward declarations 2018-08-15 11:52:09 -07:00
Makefile Merge branch 'js/add-p-in-c' 2019-12-25 11:22:01 -08:00
match-trees.c
mem-pool.c block alloc: add validations around cache_entry lifecyle 2018-07-03 10:58:27 -07:00
mem-pool.h block alloc: add validations around cache_entry lifecyle 2018-07-03 10:58:27 -07:00
merge-blobs.c
merge-blobs.h
merge-recursive.c Merge branch 'en/merge-recursive-oid-eq-simplify' 2020-01-06 14:17:51 -08:00
merge-recursive.h
merge.c
mergesort.c
mergesort.h
midx.c midx: honor the MIDX_PROGRESS flag in midx_repack 2019-10-23 12:05:06 +09:00
midx.h midx: add MIDX_PROGRESS flag 2019-10-23 12:05:05 +09:00
name-hash.c Merge branch 'en/doc-typofix' 2019-12-01 09:04:35 -08:00
notes-cache.c
notes-cache.h
notes-merge.c
notes-merge.h
notes-utils.c
notes-utils.h
notes.c Merge branch 'dl/format-patch-notes-config-fixup' 2019-12-25 11:21:58 -08:00
notes.h Merge branch 'dl/format-patch-notes-config-fixup' 2019-12-25 11:21:58 -08:00
object-store.h packfile.c: speed up loading lots of packfiles 2019-12-03 07:59:45 -08:00
object.c packfile.c: speed up loading lots of packfiles 2019-12-03 07:59:45 -08:00
object.h
oidmap.c
oidmap.h
oidset.c Merge branch 'br/blame-ignore' 2019-07-19 11:30:20 -07:00
oidset.h
pack-bitmap-write.c
pack-bitmap.c
pack-bitmap.h
pack-check.c pack-check.c: remove the_repository references 2018-11-12 14:50:06 +09:00
pack-objects.c Merge branch 'jk/optim-in-pack-idx-conversion' 2019-12-01 09:04:38 -08:00
pack-objects.h Merge branch 'jk/optim-in-pack-idx-conversion' 2019-12-01 09:04:38 -08:00
pack-revindex.c
pack-revindex.h
pack-write.c
pack.h
packfile.c Merge branch 'ew/packfile-syscall-optim' 2020-01-06 14:17:50 -08:00
packfile.h
pager.c pager: add a helper function to clear the last line in the terminal 2019-06-24 13:38:46 -07:00
parse-options-cb.c
parse-options.c
parse-options.h Merge branch 'hw/doc-in-header' 2019-12-16 13:08:39 -08:00
patch-delta.c
patch-ids.c
patch-ids.h
path.c Sync with Git 2.24.1 2019-12-09 22:17:55 -08:00
path.h
pathspec.c
pathspec.h Merge branch 'hw/doc-in-header' 2019-12-16 13:08:39 -08:00
pkt-line.c
pkt-line.h pkt-line: fix a typo 2019-12-02 08:48:56 -08:00
preload-index.c
pretty.c Merge branch 'dl/pretty-reference' 2019-12-10 13:11:43 -08:00
pretty.h
prio-queue.c
prio-queue.h *.[ch]: remove extern from function declarations using spatch 2019-05-05 15:20:06 +09:00
progress.c progress: create GIT_PROGRESS_DELAY 2019-11-27 10:57:10 +09:00
progress.h Merge branch 'sg/overlong-progress-fix' 2019-04-25 16:41:19 +09:00
promisor-remote.c
promisor-remote.h
prompt.c
prompt.h
protocol.c
protocol.h
quote.c
quote.h
range-diff.c range-diff: mark pointers as const 2019-12-06 12:34:49 -08:00
range-diff.h Merge branch 'dl/range-diff-with-notes' 2019-12-16 13:08:46 -08:00
reachable.c
reachable.h
read-cache.c Merge branch 'js/mingw-loosen-overstrict-tree-entry-checks' 2020-01-10 14:45:27 -08:00
README.md doc: recommend lore.kernel.org over public-inbox.org 2019-11-30 09:12:04 -08:00
rebase-interactive.c
rebase-interactive.h
ref-filter.c
ref-filter.h
reflog-walk.c Merge branch 'nd/i18n' 2018-08-15 15:08:23 -07:00
reflog-walk.h
refs.c
refs.h refs: move doc to refs.h 2019-11-18 15:21:28 +09:00
refspec.c
refspec.h
RelNotes The first batch post 2.24 cycle 2019-11-10 18:02:17 +09:00
remote-curl.c
remote-testsvn.c
remote.c config: split repo scope to local and worktree 2020-02-10 10:32:20 -08:00
remote.h
replace-object.c Merge branch 'ds/commit-graph-with-grafts' 2018-10-16 16:15:59 +09:00
replace-object.h
repo-settings.c
repository.c
repository.h
rerere.c Fix spelling errors in code comments 2019-11-10 16:00:54 +09:00
rerere.h
resolve-undo.c
resolve-undo.h
revision.c Merge branch 'dl/format-patch-notes-config-fixup' 2019-12-25 11:21:58 -08:00
revision.h Merge branch 'dl/format-patch-notes-config-fixup' 2019-12-25 11:21:58 -08:00
run-command.c run-command: use prepare_git_cmd() in prepare_cmd() 2019-11-27 11:22:35 +09:00
run-command.h
send-pack.c Merge branch 'jk/send-pack-check-negative-with-quick' 2019-12-06 15:09:22 -08:00
send-pack.h
sequencer.c Revert "Merge branch 'ra/rebase-i-more-options'" 2020-01-12 13:25:18 -08:00
sequencer.h Revert "Merge branch 'ra/rebase-i-more-options'" 2020-01-12 13:25:18 -08:00
serve.c
serve.h
server-info.c
setup.c
sh-i18n--envsubst.c
sha1-array.c sha1-array: move doc to sha1-array.h 2019-11-18 15:21:28 +09:00
sha1-array.h
sha1-file.c
sha1-lookup.c Merge branch 'js/azure-pipelines-msvc' 2019-10-15 13:48:00 +09:00
sha1-lookup.h
sha1-name.c
sha1dc_git.c
sha1dc_git.h
shallow.c
shell.c shell: use skip_prefix() instead of starts_with() 2019-11-27 11:18:24 +09:00
shortlog.h
sideband.c
sideband.h
sigchain.c
sigchain.h
split-index.c
split-index.h
stable-qsort.c
strbuf.c strbuf: add a helper function to call the editor "on an strbuf" 2019-12-13 12:37:14 -08:00
strbuf.h strbuf: add a helper function to call the editor "on an strbuf" 2019-12-13 12:37:14 -08:00
streaming.c Merge branch 'jk/loose-object-cache-oid' 2019-02-06 22:05:27 -08:00
streaming.h
string-list.c
string-list.h
sub-process.c
sub-process.h
submodule-config.c fix-typo: consecutive-word duplications 2019-12-16 11:53:11 -08:00
submodule-config.h
submodule.c Sync with 2.22.2 2019-12-06 16:31:30 +01:00
submodule.h Sync with 2.22.2 2019-12-06 16:31:30 +01:00
symlinks.c
tag.c commit, tag: don't set parsed bit for parse failures 2019-10-28 14:04:49 +09:00
tag.h
tar.h
tempfile.c
tempfile.h
thread-utils.c thread-utils: macros to unconditionally compile pthreads API 2018-10-29 11:22:48 +09:00
thread-utils.h
tmp-objdir.c
tmp-objdir.h
trace2.c
trace2.h
trace.c
trace.h
trailer.c
trailer.h
transport-helper.c Sync with 2.23.1 2019-12-06 16:31:39 +01:00
transport-internal.h
transport.c
transport.h remote-curl: pass on atomic capability to remote side 2019-10-17 16:08:22 +09:00
tree-diff.c
tree-walk.c Merge branch 'js/mingw-loosen-overstrict-tree-entry-checks' 2020-01-06 14:17:50 -08:00
tree-walk.h
tree.c
tree.h tree.c: make read_tree*() take 'struct repository *' 2018-11-19 10:50:33 +09:00
unicode-width.h
unimplemented.sh
unix-socket.c Merge branch 'rs/strbuf-getcwd' 2014-09-02 13:28:44 -07:00
unix-socket.h
unpack-trees.c Merge branch 'ds/sparse-cone' 2019-12-25 11:21:58 -08:00
unpack-trees.h sparse-checkout: update working directory in-process 2019-11-22 16:11:44 +09:00
upload-pack.c config: split repo scope to local and worktree 2020-02-10 10:32:20 -08:00
upload-pack.h
url.c
url.h list-objects-filter: implement composite filters 2019-06-28 08:41:53 -07:00
urlmatch.c
urlmatch.h
usage.c vreportf(): avoid relying on stdio buffering 2019-11-02 15:20:21 +09:00
userdiff.c Merge branch 'ln/userdiff-elixir' 2019-12-25 11:21:59 -08:00
userdiff.h
utf8.c
utf8.h
varint.c cleanups: ensure that git-compat-util.h is included first 2014-09-15 12:05:14 -07:00
varint.h
version.c
version.h
versioncmp.c
walker.c object: convert lookup_unknown_object() to use object_id 2019-06-20 10:06:19 -07:00
walker.h
wildmatch.c
wildmatch.h
worktree.c
worktree.h *.[ch]: manually align parameter lists 2019-05-05 15:20:10 +09:00
wrap-for-bin.sh
wrapper.c Merge branch 'ah/cleanups' 2019-10-09 14:01:00 +09:00
write-or-die.c
ws.c
wt-status.c
wt-status.h wt-status: convert struct wt_status to object_id 2019-08-19 15:04:59 -07:00
xdiff-interface.c
xdiff-interface.h
zlib.c

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-<commandname>.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://lore.kernel.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