The core git plumbing :git: https://git-scm.com/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Junio C Hamano 2e71cbbddd Git 2.39-rc2 3 days ago
.github Merge branch 'jx/ci-ubuntu-fix' 1 week ago
Documentation Git 2.39-rc2 3 days ago
block-sha1 Makefile + hash.h: remove PPC_SHA1 implementation 3 months ago
builtin Merge branch 'ab/doc-synopsis-and-cmd-usage' 1 week ago
ci Merge branch 'jx/ci-ubuntu-fix' 1 week ago
compat Merge branch 'sz/macos-fsmonitor-symlinks' 2 weeks ago
contrib Merge branch 'ab/fewer-the-index-macros' 1 week ago
ewah
git-gui Makefiles: change search through $(MAKEFLAGS) for GNU make 4.4 1 week ago
gitk-git
gitweb Merge branch 'jr/gitweb-title-shortening' 4 months ago
mergetools mergetools: vimdiff: simplify tabfirst 4 months ago
negotiator negotiator/skipping: avoid stack overflow 1 month ago
oss-fuzz Merge branch 'ac/fuzzers' 2 months ago
perl Git.pm: trust rev-parse to find bare repositories 2 months ago
po l10n: zh_TW.po: Git 2.38.0, round 3 2 months ago
refs refs: unify parse_worktree_ref() and ref_type() 3 months ago
reftable reftable: use a pointer for pq_entry param 3 months ago
sha1collisiondetection@855827c583
sha1dc
sha256 sha256: add support for Nettle 5 months ago
t Merge branch 'jh/trace2-timers-and-counters' 1 week ago
templates fsmonitor: query watchman with right valid json 6 months ago
trace2 trace2: add global counter mechanism 2 months ago
xdiff xdiff: drop unused mmfile parameters from xdl_do_patience_diff() 4 months ago
.cirrus.yml
.clang-format
.editorconfig
.gitattributes
.gitignore Merge branch 'ab/coccicheck-incremental' 2 weeks ago
.gitmodules
.mailmap
.tsan-suppressions
CODE_OF_CONDUCT.md
COPYING
GIT-VERSION-GEN Git 2.39-rc2 3 days ago
INSTALL INSTALL: remove discussion of SHA-1 backends 1 month ago
LGPL-2.1
Makefile Merge branch 'ab/coccicheck-incremental' 2 weeks ago
README.md
RelNotes Downmerge a handful of topics for 2.38.2 1 month ago
SECURITY.md
abspath.c
aclocal.m4
add-interactive.c read-cache API & users: make discard_index() return void 3 weeks ago
add-interactive.h
add-patch.c read-cache API & users: make discard_index() return void 3 weeks ago
advice.c advice.h: add advise_on_moving_dirty_path() 4 months ago
advice.h advice.h: add advise_on_moving_dirty_path() 4 months ago
alias.c alias.c: reject too-long cmdline strings in split_cmdline() 2 months ago
alias.h
alloc.c
alloc.h
apply.c Merge branch 'tb/cap-patch-at-1gb' 1 month ago
apply.h
archive-tar.c archive-tar: report filter start error only once 1 month ago
archive-zip.c git-compat-util.h: use "UNUSED", not "UNUSED(var)" 3 months ago
archive.c Merge branch 'rs/archive-dedup-printf' into maint-2.38 1 month ago
archive.h archive: rename archiver data field to filter_command 6 months ago
attr.c attr: drop DEBUG_ATTR code 2 months ago
attr.h
banned.h
base85.c
bisect.c replace and remove run_command_v_opt() 1 month ago
bisect.h
blame.c Merge branch 'rs/mergesort' 4 months ago
blame.h
blob.c
blob.h
bloom.c git-compat-util.h: use "UNUSED", not "UNUSED(var)" 3 months ago
bloom.h
branch.c branch: consider refs under 'update-refs' 5 months ago
branch.h Merge branch 'ds/branch-checked-out' into ds/rebase-update-ref 5 months ago
builtin.h builtin/diagnose.c: create 'git diagnose' builtin 4 months ago
bulk-checkin.c t5351: avoid relying on `core.fsyncMethod = batch` to be supported 4 months ago
bulk-checkin.h
bundle-uri.c bundle-uri: suppress stderr from remote-https 2 months ago
bundle-uri.h bundle-uri: fetch a list of bundles 2 months ago
bundle.c bundle-uri: quiet failed unbundlings 2 months ago
bundle.h Merge branch 'ds/bundle-uri-3' 1 month ago
cache-tree.c verify_one_sparse(): drop unused parameters 4 months ago
cache-tree.h cache-tree: remove cache_tree_find_path() 6 months ago
cache.h cocci: apply "pending" index-compatibility to some "builtin/*.c" 3 weeks ago
cbtree.c
cbtree.h
chdir-notify.c
chdir-notify.h
check-builtins.sh
checkout.c
checkout.h
chunk-format.c
chunk-format.h
color.c git-compat-util.h: use "UNUSED", not "UNUSED(var)" 3 months ago
color.h
column.c
column.h
combine-diff.c Merge branch 'rs/combine-diff-with-incompatible-options' into maint 4 months ago
command-list.txt version: fix builtin linking & documentation 3 months ago
commit-graph.c Merge branch 'ml/commit-graph-expire-dir-leak-fix' 3 months ago
commit-graph.h Merge branch 'tb/commit-graph-genv2-upgrade-fix' 4 months ago
commit-reach.c
commit-reach.h
commit-slab-decl.h
commit-slab-impl.h
commit-slab.h
commit.c Merge branch 'pw/rebase-keep-base-fixes' 1 month ago
commit.h rebase: be stricter when reading state files containing oids 2 months ago
common-main.c grep: fix multibyte regex handling under macOS 3 months ago
config.c Merge branch 'pw/config-int-parse-fixes' 2 weeks ago
config.h bundle-uri: create base key-value pair parsing 2 months ago
config.mak.dev config.mak.dev: disable suggest braces error on old clang versions 2 months ago
config.mak.in
config.mak.uname mingw: remove unneeded `NO_CURL` directive 4 months ago
configure.ac Makefile + hash.h: remove PPC_SHA1 implementation 3 months ago
connect.c Merge branch 'ab/env-array' 6 months ago
connect.h
connected.c receive-pack: only use visible refs for connectivity check 3 weeks ago
connected.h receive-pack: only use visible refs for connectivity check 3 weeks ago
convert.c convert: mark unused parameter in null stream filter 2 months ago
convert.h checkout: fix two bugs on the final count of updated entries 5 months ago
copy.c
credential.c
credential.h
csum-file.c
csum-file.h
ctype.c
daemon.c daemon: clarify directory arguments 5 months ago
date.c date: mark unused parameters in handler functions 2 months ago
date.h
decorate.c
decorate.h
delta-islands.c delta-islands: free island-related data after use 3 weeks ago
delta-islands.h
delta.h
detect-compiler
diagnose.c diagnose.c: refactor to safely use 'd_type' 3 months ago
diagnose.h builtin/diagnose.c: add '--mode' option 4 months ago
diff-delta.c
diff-lib.c oneway_diff: handle removed sparse directories 4 months ago
diff-merges.c diff-merges: cleanup set_diff_merges() 3 months ago
diff-merges.h
diff-no-index.c diff-no-index: simplify argv index calculation 3 months ago
diff.c Merge branch 'sg/plug-line-log-leaks' 2 weeks ago
diff.h patch-id: use stable patch-id for rebases 2 months ago
diffcore-break.c
diffcore-delta.c
diffcore-order.c
diffcore-pickaxe.c diffcore-pickaxe: mark unused parameters in pickaxe functions 2 months ago
diffcore-rename.c
diffcore-rotate.c
diffcore.h line-log: free diff queue when processing non-merge commits 1 month ago
dir-iterator.c
dir-iterator.h
dir.c Merge branch 'rs/use-fspathncmp' into maint-2.38 1 month ago
dir.h match_pathname(): drop unused "flags" parameter 4 months ago
editor.c run-command API: rename "env_array" to "env" 6 months ago
entry.c checkout: fix two bugs on the final count of updated entries 5 months ago
entry.h checkout: fix two bugs on the final count of updated entries 5 months ago
environment.c Merge branch 'ab/unused-annotation' 3 months ago
environment.h
exec-cmd.c mark unused parameters in trivial compat functions 2 months ago
exec-cmd.h
fetch-negotiator.c
fetch-negotiator.h
fetch-pack.c Merge branch 'ab/unused-annotation' 3 months ago
fetch-pack.h
fmt-merge-msg.c
fmt-merge-msg.h
fsck.c fsck: actually detect bad file modes in trees 4 months ago
fsck.h fsck: document msg-id 1 month ago
fsmonitor--daemon.h fsmonitor: deal with synthetic firmlinks on macOS 2 months ago
fsmonitor-ipc.c replace and remove run_command_v_opt_tr2() 1 month ago
fsmonitor-ipc.h fsmonitor: relocate socket file if .git directory is remote 2 months ago
fsmonitor-path-utils.h fsmonitor: deal with synthetic firmlinks on macOS 2 months ago
fsmonitor-settings.c fsmonitor: check for compatability before communicating with fsmonitor 2 months ago
fsmonitor-settings.h fsmonitor: check for compatability before communicating with fsmonitor 2 months ago
fsmonitor.c fsmonitor: fix leak of warning message 2 months ago
fsmonitor.h fsmonitor: never set CE_FSMONITOR_VALID on submodules 7 months ago
generate-cmdlist.sh
generate-configlist.sh
generate-hooklist.sh
gettext.c grep: fix multibyte regex handling under macOS 3 months ago
gettext.h
git-add--interactive.perl
git-archimport.perl
git-bisect.sh bisect--helper: parse subcommand with OPT_SUBCOMMAND 4 weeks ago
git-compat-util.h Merge branch 'ab/unused-annotation' into maint-2.38 1 month ago
git-curl-compat.h
git-cvsexportcommit.perl
git-cvsimport.perl
git-cvsserver.perl git-cvsserver: clarify directory list 5 months ago
git-difftool--helper.sh
git-filter-branch.sh
git-instaweb.sh git-sh-setup.sh: remove "say" function, change last users 5 months ago
git-merge-octopus.sh
git-merge-one-file.sh
git-merge-resolve.sh merge-resolve: abort if index does not match HEAD 5 months ago
git-mergetool--lib.sh
git-mergetool.sh
git-p4.py Merge branch 'kk/p4-client-name-encoding-fix' into maint 4 months ago
git-quiltimport.sh
git-request-pull.sh
git-send-email.perl
git-sh-i18n.sh
git-sh-setup.sh git-sh-setup.sh: remove "say" function, change last users 5 months ago
git-submodule.sh submodule--helper: drop "update --prefix <pfx>" for "-C <pfx> update" 1 month ago
git-svn.perl
git-web--browse.sh
git.c Merge branch 'ab/submodule-helper-prep-only' 2 weeks ago
git.rc
gpg-interface.c Merge branch 'pw/ssh-sign-report-errors' into maint-2.38 1 month ago
gpg-interface.h gpg-interface: add function for converting trust level to string 5 months ago
graph.c
graph.h
grep.c Merge branch 'ab/grep-simplify-extended-expression' 2 months ago
grep.h Merge branch 'ab/grep-simplify-extended-expression' 2 months ago
hash-lookup.c
hash-lookup.h
hash.h Makefile + hash.h: remove PPC_SHA1 implementation 3 months ago
hashmap.c git-compat-util.h: use "UNUSED", not "UNUSED(var)" 3 months ago
hashmap.h
help.c Merge branch 'ab/doc-synopsis-and-cmd-usage' 1 month ago
help.h git docs: add a category for file formats, protocols and interfaces 4 months ago
hex.c
hook.c run-command API: have run_process_parallel() take an "opts" struct 2 months ago
hook.h
http-backend.c git-compat-util.h: use "UNUSED", not "UNUSED(var)" 3 months ago
http-fetch.c
http-push.c Merge branch 'ab/plug-leak-in-revisions' 6 months ago
http-walker.c
http.c http: redact curl h2h3 headers in info 3 weeks ago
http.h remote-curl: send Accept-Language header to server 5 months ago
ident.c git-compat-util.h: use "UNUSED", not "UNUSED(var)" 3 months ago
imap-send.c
iterator.h
json-writer.c
json-writer.h
khash.h
kwset.c
kwset.h
levenshtein.c
levenshtein.h
line-log.c line-log: free the diff queues' arrays when processing merge commits 1 month ago
line-log.h
line-range.c
line-range.h
linear-assignment.c
linear-assignment.h
list-objects-filter-options.c list-objects-filter: initialize sub-filter structs 3 months ago
list-objects-filter-options.h list-objects-filter: convert filter_spec to a strbuf 3 months ago
list-objects-filter.c list-objects-filter: plug combine_filter_data leak 3 weeks ago
list-objects-filter.h
list-objects.c
list-objects.h
list.h
ll-merge.c Merge branch 'rs/no-more-run-command-v' 1 month ago
ll-merge.h
lockfile.c
lockfile.h
log-tree.c Merge branch 'ab/unused-annotation' 3 months ago
log-tree.h
ls-refs.c refs: get rid of global list of hidden refs 3 weeks ago
ls-refs.h
mailinfo.c mailinfo -b: fix an out of bounds access 2 months ago
mailinfo.h
mailmap.c
mailmap.h
match-trees.c
mem-pool.c
mem-pool.h
merge-blobs.c
merge-blobs.h
merge-ort-wrappers.c merge-ort-wrappers: make printed message match the one from recursive 5 months ago
merge-ort-wrappers.h
merge-ort.c Merge branch 'en/ort-dir-rename-and-symlink-fix' 1 month ago
merge-ort.h merge-ort: optionally produce machine-readable output 6 months ago
merge-recursive.c merge-recursive: fix variable typo in error message 2 weeks ago
merge-recursive.h
merge.c use child_process members "args" and "env" directly 1 month ago
mergesort.h mergesort: remove llist_mergesort() 5 months ago
midx.c Merge branch 'tb/midx-bitmap-selection-fix' 1 month ago
midx.h pack-bitmap-write: learn pack.writeBitmapLookupTable and add tests 3 months ago
name-hash.c git-compat-util.h: use "UNUSED", not "UNUSED(var)" 3 months ago
notes-cache.c
notes-cache.h
notes-merge.c
notes-merge.h
notes-utils.c
notes-utils.h
notes.c Merge branch 'ab/unused-annotation' 3 months ago
notes.h
object-file.c object-file: use real paths when adding alternates 2 weeks ago
object-name.c git-compat-util.h: use "UNUSED", not "UNUSED(var)" 3 months ago
object-store.h git-compat-util.h: use "UNUSED", not "UNUSED(var)" 3 months ago
object.c parse_object(): simplify blob conditional 2 weeks ago
object.h parse_object(): allow skipping hash check 3 months ago
oid-array.c
oid-array.h
oidmap.c git-compat-util.h: use "UNUSED", not "UNUSED(var)" 3 months ago
oidmap.h
oidset.c
oidset.h
oidtree.c
oidtree.h
pack-bitmap-write.c pack-bitmap-write.c: instrument number of reused bitmaps 2 months ago
pack-bitmap.c Merge branch 'ds/bitmap-lookup-remove-tracing' 2 months ago
pack-bitmap.h pack-bitmap: prepare to read lookup table extension 3 months ago
pack-check.c
pack-mtimes.c pack-mtimes: avoid closing a bogus file descriptor 6 months ago
pack-mtimes.h
pack-objects.c
pack-objects.h pack-objects.h: remove outdated pahole results 5 months ago
pack-revindex.c
pack-revindex.h docs: move pack format docs to man section 5 4 months ago
pack-write.c pack-write: drop always-NULL parameter 6 months ago
pack.h
packfile.c Merge branch 'ab/unused-annotation' 3 months ago
packfile.h
pager.c git-compat-util.h: use "UNUSED", not "UNUSED(var)" 3 months ago
parallel-checkout.c checkout: fix two bugs on the final count of updated entries 5 months ago
parallel-checkout.h checkout: fix two bugs on the final count of updated entries 5 months ago
parse-options-cb.c
parse-options.c parse-options: add support for parsing subcommands 4 months ago
parse-options.h parse-options: add support for parsing subcommands 4 months ago
patch-delta.c
patch-ids.c Merge branch 'jz/patch-id' 1 month ago
patch-ids.h patch-id: use stable patch-id for rebases 2 months ago
path.c adjust_shared_perm(): leave g+s alone when the group does not matter 1 month ago
path.h
pathspec.c pathspec.h: move pathspec_needs_expanded_index() from reset.c to here 4 months ago
pathspec.h pathspec.h: move pathspec_needs_expanded_index() from reset.c to here 4 months ago
pkt-line.c t0021: implementation the rot13-filter.pl script in C 4 months ago
pkt-line.h Merge branch 'mt/rot13-in-c' 3 months ago
preload-index.c preload-index: fix memleak 4 months ago
pretty.c Merge branch 'ab/unused-annotation' 3 months ago
pretty.h
prio-queue.c
prio-queue.h
progress.c
progress.h
promisor-remote.c promisor-remote: die upon failing fetch 2 months ago
promisor-remote.h promisor-remote: remove a return value 2 months ago
prompt.c
prompt.h
protocol-caps.c
protocol-caps.h
protocol.c
protocol.h
prune-packed.c
prune-packed.h
quote.c
quote.h
range-diff.c Merge branch 'ab/unused-annotation' 3 months ago
range-diff.h
reachable.c
reachable.h
read-cache.c read-cache API & users: make discard_index() return void 3 weeks ago
rebase-interactive.c sequencer: rewrite update-refs as user edits todo list 5 months ago
rebase-interactive.h
rebase.c
rebase.h
ref-filter.c ref-filter: fix parsing of signatures with CRLF and no body 1 month ago
ref-filter.h
reflog-walk.c string-list: mark unused callback parameters 2 months ago
reflog-walk.h
reflog.c refs: unify parse_worktree_ref() and ref_type() 3 months ago
reflog.h
refs.c refs: get rid of global list of hidden refs 3 weeks ago
refs.h refs: get rid of global list of hidden refs 3 weeks ago
refspec.c
refspec.h docs: move protocol-related docs to man section 5 4 months ago
remote-curl.c remote-curl: add 'get' capability 4 months ago
remote.c git-compat-util.h: use "UNUSED", not "UNUSED(var)" 3 months ago
remote.h Merge branch 'rs/mergesort' 4 months ago
replace-object.c git-compat-util.h: use "UNUSED", not "UNUSED(var)" 3 months ago
replace-object.h
repo-settings.c Merge branch 'es/mark-gc-cruft-as-experimental' 1 month ago
repository.c {builtin/*,repository}.c: add & use "USE_THE_INDEX_VARIABLE" 3 weeks ago
repository.h Merge branch 'es/mark-gc-cruft-as-experimental' 1 month ago
rerere.c
rerere.h
reset.c rebase: use 'skip_cache_tree_update' option 4 weeks ago
reset.h
resolve-undo.c
resolve-undo.h
revision.c Merge branch 'ps/receive-use-only-advertised' 2 weeks ago
revision.h Merge branch 'ps/receive-use-only-advertised' 2 weeks ago
run-command.c Merge branch 'rs/no-more-run-command-v' 1 month ago
run-command.h Merge branch 'rs/no-more-run-command-v' 1 month ago
scalar.c Merge branch 'js/remove-stale-scalar-repos' 2 weeks ago
send-pack.c git-compat-util.h: use "UNUSED", not "UNUSED(var)" 3 months ago
send-pack.h send-pack.c: add config push.useBitmaps 6 months ago
sequencer.c Merge branch 'ab/fewer-the-index-macros' 2 weeks ago
sequencer.h sequencer: stop exporting GIT_REFLOG_ACTION 4 weeks ago
serve.c
serve.h
server-info.c git-compat-util.h: use "UNUSED", not "UNUSED(var)" 3 months ago
setup.c Merge branch 'js/safe-directory-plus' into maint 3 months ago
sh-i18n--envsubst.c
sha1dc_git.c
sha1dc_git.h Makefile & test-tool: replace "DC_SHA1" variable with a "define" 1 month ago
shallow.c git-compat-util.h: use "UNUSED", not "UNUSED(var)" 3 months ago
shallow.h
shared.mak Merge branch 'ab/gnumake-4.4-fix' 1 week ago
shell.c replace and remove run_command_v_opt() 1 month ago
shortlog.h shortlog: extract `shortlog_finish_setup()` 2 months ago
sideband.c
sideband.h
sigchain.c
sigchain.h
simple-ipc.h
sparse-index.c index: raise a bug if the index is materialised more than once 1 month ago
sparse-index.h Merge branch 'ds/sparse-sparse-checkout' 6 months ago
split-index.c
split-index.h
stable-qsort.c
strbuf.c git-compat-util.h: use "UNUSED", not "UNUSED(var)" 3 months ago
strbuf.h
streaming.c git-compat-util.h: use "UNUSED", not "UNUSED(var)" 3 months ago
streaming.h
string-list.c string-list: mark unused callback parameters 2 months ago
string-list.h string-list: document iterator behavior on NULL input 2 months ago
strmap.c git-compat-util.h: use "UNUSED", not "UNUSED(var)" 3 months ago
strmap.h
strvec.c
strvec.h
sub-process.c git-compat-util.h: use "UNUSED", not "UNUSED(var)" 3 months ago
sub-process.h
submodule-config.c run-command API: don't fall back on online_cpus() 2 months ago
submodule-config.h
submodule.c Merge branch 'jt/submodule-on-demand' 2 weeks ago
submodule.h submodule API & "absorbgitdirs": remove "----recursive" option 1 month ago
symlinks.c
tag.c
tag.h
tar.h
tempfile.c tempfile: update comment describing state transitions 3 months ago
tempfile.h tempfile: drop active flag 3 months ago
thread-utils.c
thread-utils.h
tmp-objdir.c tmp-objdir: skip clean up when handling a signal 2 months ago
tmp-objdir.h replace and remove run_command_v_opt_cd_env() 1 month ago
trace.c
trace.h
trace2.c trace2: add global counter mechanism 2 months ago
trace2.h trace2: add global counter mechanism 2 months ago
trailer.c git-compat-util.h: use "UNUSED", not "UNUSED(var)" 3 months ago
trailer.h
transport-helper.c list-objects-filter: add and use initializers 3 months ago
transport-internal.h
transport.c Merge branch 'ds/bundle-uri-3' 1 month ago
transport.h
tree-diff.c
tree-walk.c tree-walk: add a mechanism for getting non-canonicalized modes 4 months ago
tree-walk.h tree-walk: add a mechanism for getting non-canonicalized modes 4 months ago
tree.c
tree.h
unicode-width.h
unimplemented.sh
unix-socket.c
unix-socket.h
unix-stream-server.c
unix-stream-server.h
unpack-trees.c unpack-trees: add 'skip_cache_tree_update' option 4 weeks ago
unpack-trees.h unpack-trees: add 'skip_cache_tree_update' option 4 weeks ago
upload-pack.c refs: get rid of global list of hidden refs 3 weeks ago
upload-pack.h
url.c
url.h
urlmatch.c
urlmatch.h
usage.c i18n: mark message helpers prefix for translation 6 months ago
userdiff.c
userdiff.h
utf8.c
utf8.h
varint.c
varint.h
version.c
version.h
versioncmp.c
walker.c git-compat-util.h: use "UNUSED", not "UNUSED(var)" 3 months ago
walker.h
wildmatch.c
wildmatch.h
worktree.c refs: unify parse_worktree_ref() and ref_type() 3 months ago
worktree.h refs: unify parse_worktree_ref() and ref_type() 3 months ago
wrap-for-bin.sh
wrapper.c Merge branch 'jk/pipe-command-nonblock' 4 months ago
write-or-die.c environ: GIT_FLUSH should be made a usual Boolean 3 months ago
ws.c
wt-status.c git-compat-util.h: use "UNUSED", not "UNUSED(var)" 3 months ago
wt-status.h
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-<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 and Documentation/CodingGuidelines).

Those wishing to help with error message, usage and informational message string translations (localization l10) should see po/README.md (a po file is a Portable Object file that holds the translations).

To subscribe to the list, send an email with just "subscribe git" in the body to majordomo@vger.kernel.org (not the Git list). 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