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.
 
 
 
 
 
 
Ævar Arnfjörð Bjarmason 0cc05b044f usage.c: add a non-fatal bug() function to go with BUG() 3 years ago
.github
Documentation usage.c: add a non-fatal bug() function to go with BUG() 3 years ago
block-sha1
builtin Merge branch 'js/use-builtin-add-i' 3 years ago
ci Merge branch 'js/use-builtin-add-i' 3 years ago
compat Merge branch 'js/ci-gcc-12-fixes' 3 years ago
contrib Merge branch 'ep/maint-equals-null-cocci' 3 years ago
ewah Merge branch 'ep/maint-equals-null-cocci' 3 years ago
git-gui
gitk-git Merge branch 'master' of git://git.ozlabs.org/~paulus/gitk 3 years ago
gitweb
mergetools mergetools: add description to all diff/merge tools 3 years ago
negotiator
perl
po l10n: sv.po: Update Swedish translation (5282t0f0u) 3 years ago
ppc
refs Merge branch 'ep/maint-equals-null-cocci' 3 years ago
reftable Merge branch 'ep/maint-equals-null-cocci' 3 years ago
sha1collisiondetection@855827c583
sha1dc
sha256
t usage.c: add a non-fatal bug() function to go with BUG() 3 years ago
templates
trace2
xdiff Merge branch 'ep/maint-equals-null-cocci' 3 years ago
.cirrus.yml
.clang-format
.editorconfig
.gitattributes
.gitignore
.gitmodules
.mailmap
.tsan-suppressions
CODE_OF_CONDUCT.md
COPYING
GIT-VERSION-GEN Git 2.36.1 3 years ago
INSTALL
LGPL-2.1
Makefile Merge branch 'ep/coverage-report-wants-test-to-have-run' 3 years ago
README.md
RelNotes Git 2.36.1 3 years ago
SECURITY.md
abspath.c
aclocal.m4
add-interactive.c
add-interactive.h
add-patch.c
advice.c Merge branch 'tk/ambiguous-fetch-refspec' 3 years ago
advice.h Merge branch 'tk/ambiguous-fetch-refspec' 3 years ago
alias.c
alias.h
alloc.c alloc.[ch]: remove alloc_report() function 3 years ago
alloc.h alloc.[ch]: remove alloc_report() function 3 years ago
apply.c Merge branch 'ep/maint-equals-null-cocci' 3 years ago
apply.h
archive-tar.c
archive-zip.c
archive.c Merge branch 'jc/archive-add-file-normalize-mode' 3 years ago
archive.h
attr.c Merge branch 'ab/refs-various-fixes' 3 years ago
attr.h
banned.h
base85.c
bisect.c
bisect.h bisect: output state before we are ready to compute bisection 3 years ago
blame.c Merge branch 'ep/maint-equals-null-cocci' 3 years ago
blame.h
blob.c
blob.h
bloom.c
bloom.h
branch.c Merge branch 'tk/simple-autosetupmerge' 3 years ago
branch.h branch: new autosetupmerge option 'simple' for matching branches 3 years ago
builtin.h
bulk-checkin.c Merge branch 'ns/core-fsyncmethod' 3 years ago
bulk-checkin.h
bundle.c
bundle.h
cache-tree.c
cache-tree.h
cache.h Merge branch 'ds/midx-normalize-pathname-before-comparison' 3 years 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
color.h
column.c
column.h
combine-diff.c tree-wide: apply equals-null.cocci 3 years ago
command-list.txt
commit-graph.c Merge branch 'ab/valgrind-fixes' 3 years ago
commit-graph.h
commit-reach.c
commit-reach.h
commit-slab-decl.h
commit-slab-impl.h
commit-slab.h
commit.c Merge branch 'ab/racy-hooks' 3 years ago
commit.h
common-main.c usage.c: add a non-fatal bug() function to go with BUG() 3 years ago
config.c Merge branch 'tk/simple-autosetupmerge' 3 years ago
config.h
config.mak.dev config.mak.dev: alternative workaround to gcc 12 warning in http.c 3 years ago
config.mak.in
config.mak.uname Merge branch 'jh/builtin-fsmonitor-part2' 3 years ago
configure.ac Merge branch 'ab/misc-cleanup' 3 years ago
connect.c
connect.h
connected.c
connected.h
convert.c convert: clarify line ending conversion warning 3 years ago
convert.h
copy.c
credential.c
credential.h
csum-file.c
csum-file.h
ctype.c
daemon.c Merge branch 'ep/maint-equals-null-cocci' for maint-2.35 3 years ago
date.c
date.h
decorate.c
decorate.h
delta-islands.c
delta-islands.h
delta.h
detect-compiler detect-compiler: make detection independent of locale 3 years ago
diff-delta.c
diff-lib.c
diff-merges.c
diff-merges.h
diff-no-index.c
diff.c diff: use mks_tempfile_dt() 3 years ago
diff.h
diffcore-break.c
diffcore-delta.c
diffcore-order.c
diffcore-pickaxe.c
diffcore-rename.c
diffcore-rotate.c
diffcore.h
dir-iterator.c
dir-iterator.h
dir.c Merge branch 'js/ci-gcc-12-fixes' 3 years ago
dir.h
editor.c
entry.c
entry.h
environment.c Merge branch 'ds/midx-normalize-pathname-before-comparison' 3 years ago
environment.h
exec-cmd.c
exec-cmd.h
fetch-negotiator.c fetch-negotiator: add specific noop initializer 3 years ago
fetch-negotiator.h fetch-negotiator: add specific noop initializer 3 years ago
fetch-pack.c Merge branch 'jt/fetch-peek-optional-section' 3 years ago
fetch-pack.h fetch-pack: add refetch 3 years ago
fmt-merge-msg.c
fmt-merge-msg.h
fsck.c
fsck.h
fsmonitor--daemon.h fsmonitor--daemon: use a cookie file to sync with file system 3 years ago
fsmonitor-ipc.c
fsmonitor-ipc.h
fsmonitor-settings.c
fsmonitor-settings.h
fsmonitor.c fsmonitor: force update index after large responses 3 years ago
fsmonitor.h
fuzz-commit-graph.c
fuzz-pack-headers.c
fuzz-pack-idx.c
generate-cmdlist.sh
generate-configlist.sh
generate-hooklist.sh
gettext.c
gettext.h
git-add--interactive.perl
git-archimport.perl
git-bisect.sh
git-compat-util.h usage.c: add a non-fatal bug() function to go with BUG() 3 years ago
git-curl-compat.h
git-cvsexportcommit.perl
git-cvsimport.perl
git-cvsserver.perl
git-difftool--helper.sh
git-filter-branch.sh
git-instaweb.sh
git-merge-octopus.sh
git-merge-one-file.sh
git-merge-resolve.sh
git-mergetool--lib.sh vimdiff: add tool documentation 3 years ago
git-mergetool.sh
git-p4.py Merge branch 'tk/p4-metadata-coding-strategies' 3 years ago
git-quiltimport.sh
git-request-pull.sh
git-send-email.perl i18n: fix some badly formatted i18n strings 3 years ago
git-sh-i18n.sh
git-sh-setup.sh
git-submodule.sh
git-svn.perl
git-web--browse.sh
git.c Merge branch 'gf/shorthand-version-and-help' 3 years ago
git.rc
gpg-interface.c
gpg-interface.h
graph.c
graph.h
grep.c
grep.h
hash-lookup.c
hash-lookup.h
hash.h
hashmap.c
hashmap.h
help.c Merge branch 'jh/builtin-fsmonitor-part2' 3 years ago
help.h
hex.c
hook.c
hook.h
http-backend.c
http-fetch.c Merge branch 'ep/maint-equals-null-cocci' for maint-2.35 3 years ago
http-push.c Merge branch 'ep/maint-equals-null-cocci' 3 years ago
http-walker.c tree-wide: apply equals-null.cocci 3 years ago
http.c Merge branch 'jc/http-clear-finished-pointer' 3 years ago
http.h
ident.c
imap-send.c Merge branch 'bc/csprng-mktemps' 3 years ago
iterator.h
json-writer.c
json-writer.h
khash.h
kwset.c tree-wide: apply equals-null.cocci 3 years ago
kwset.h
levenshtein.c
levenshtein.h
line-log.c
line-log.h
line-range.c
line-range.h
linear-assignment.c
linear-assignment.h
list-objects-filter-options.c pack-objects: lazily set up "struct rev_info", don't leak 3 years ago
list-objects-filter-options.h pack-objects: lazily set up "struct rev_info", don't leak 3 years ago
list-objects-filter.c
list-objects-filter.h
list-objects.c
list-objects.h
list.h
ll-merge.c Merge branch 'ep/maint-equals-null-cocci' 3 years ago
ll-merge.h
lockfile.c
lockfile.h
log-tree.c Merge branch 'ep/maint-equals-null-cocci' 3 years ago
log-tree.h
ls-refs.c
ls-refs.h
mailinfo.c tree-wide: apply equals-null.cocci 3 years ago
mailinfo.h
mailmap.c Merge branch 'ep/maint-equals-null-cocci' 3 years ago
mailmap.h
match-trees.c
mem-pool.c
mem-pool.h
merge-blobs.c
merge-blobs.h
merge-ort-wrappers.c
merge-ort-wrappers.h
merge-ort.c Merge branch 'ep/maint-equals-null-cocci' 3 years ago
merge-ort.h
merge-recursive.c Merge branch 'ep/maint-equals-null-cocci' 3 years ago
merge-recursive.h
merge.c
mergesort.c
mergesort.h
midx.c Merge branch 'ds/midx-normalize-pathname-before-comparison' 3 years ago
midx.h
name-hash.c
notes-cache.c
notes-cache.h
notes-merge.c
notes-merge.h
notes-utils.c
notes-utils.h
notes.c
notes.h
object-file.c Merge branch 'ab/valgrind-fixes' 3 years ago
object-name.c object-name: diagnose trees in index properly 3 years ago
object-store.h object-store.h: remove unused has_sha1_file*() 3 years ago
object.c
object.h
oid-array.c
oid-array.h
oidmap.c
oidmap.h
oidset.c
oidset.h
oidtree.c
oidtree.h
pack-bitmap-write.c
pack-bitmap.c Merge branch 'ep/maint-equals-null-cocci' 3 years ago
pack-bitmap.h
pack-check.c
pack-objects.c
pack-objects.h
pack-revindex.c
pack-revindex.h
pack-write.c
pack.h
packfile.c Merge branch 'ep/maint-equals-null-cocci' for maint-2.35 3 years ago
packfile.h
pager.c
parallel-checkout.c
parallel-checkout.h
parse-options-cb.c
parse-options.c
parse-options.h
patch-delta.c
patch-ids.c
patch-ids.h
path.c tree-wide: apply equals-null.cocci 3 years ago
path.h
pathspec.c
pathspec.h
pkt-line.c
pkt-line.h
preload-index.c
pretty.c
pretty.h
prio-queue.c tree-wide: apply equals-null.cocci 3 years ago
prio-queue.h
progress.c
progress.h
promisor-remote.c tree-wide: apply equals-null.cocci 3 years ago
promisor-remote.h
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
range-diff.h
reachable.c
reachable.h
read-cache.c read-cache: set sparsity when index is new 3 years ago
rebase-interactive.c
rebase-interactive.h
rebase.c
rebase.h
ref-filter.c Merge branch 'ep/maint-equals-null-cocci' 3 years ago
ref-filter.h
reflog-walk.c
reflog-walk.h
reflog.c Merge branch 'ab/reflog-parse-options' 3 years ago
reflog.h
refs.c clone: die() instead of BUG() on bad refs 3 years ago
refs.h Revert "Merge branch 'ps/avoid-unnecessary-hook-invocation-with-packed-refs'" 3 years ago
refspec.c
refspec.h
remote-curl.c Merge branch 'rc/fetch-refetch' 3 years ago
remote.c push: default to single remote even when not named origin 3 years ago
remote.h
replace-object.c
replace-object.h
repo-settings.c
repository.c
repository.h Merge branch 'jh/builtin-fsmonitor-part2' 3 years ago
rerere.c Merge branch 'ep/maint-equals-null-cocci' 3 years ago
rerere.h
reset.c
reset.h
resolve-undo.c
resolve-undo.h
revision.c Merge branch 'ep/maint-equals-null-cocci' 3 years ago
revision.h log: "--since-as-filter" option is a non-terminating "--since" variant 3 years ago
run-command.c
run-command.h run-command.h: remove always unused "clean_on_exit_handler_cbdata" 3 years ago
send-pack.c
send-pack.h
sequencer.c Merge branch 'rs/commit-summary-wo-break-rewrite' 3 years ago
sequencer.h
serve.c serve.c: remove unnecessary include 3 years ago
serve.h
server-info.c
setup.c Merge branch 'ep/maint-equals-null-cocci' 3 years ago
sh-i18n--envsubst.c tree-wide: apply equals-null.cocci 3 years ago
sha1dc_git.c
sha1dc_git.h
shallow.c Merge branch 'ep/maint-equals-null-cocci' 3 years ago
shallow.h
shared.mak
shell.c
shortlog.h
sideband.c
sideband.h
sigchain.c
sigchain.h
simple-ipc.h
sparse-index.c sparse-index: expose 'is_sparse_index_allowed()' 3 years ago
sparse-index.h sparse-index: expose 'is_sparse_index_allowed()' 3 years ago
split-index.c
split-index.h
stable-qsort.c
strbuf.c
strbuf.h
streaming.c
streaming.h
string-list.c
string-list.h
strmap.c
strmap.h
strvec.c
strvec.h
sub-process.c
sub-process.h
submodule-config.c
submodule-config.h Merge branch 'pb/submodule-recurse-mode-enum' 3 years ago
submodule.c Merge branch 'jt/reset-grafts-when-resetting-shallow' 3 years ago
submodule.h Merge branch 'pb/submodule-recurse-mode-enum' 3 years ago
symlinks.c
tag.c
tag.h
tar.h
tempfile.c tempfile: add mks_tempfile_dt() 3 years ago
tempfile.h tempfile: add mks_tempfile_dt() 3 years ago
thread-utils.c
thread-utils.h
tmp-objdir.c
tmp-objdir.h
trace.c
trace.h
trace2.c common-main.c: move non-trace2 exit() behavior out of trace2.c 3 years ago
trace2.h common-main.c: move non-trace2 exit() behavior out of trace2.c 3 years ago
trailer.c Merge branch 'ep/maint-equals-null-cocci' for maint-2.35 3 years ago
trailer.h
transport-helper.c fetch: add --refetch option 3 years ago
transport-internal.h
transport.c Merge branch 'ep/maint-equals-null-cocci' 3 years ago
transport.h push: new config option "push.autoSetupRemote" supports "simple" push 3 years ago
tree-diff.c
tree-walk.c
tree-walk.h
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: preserve index sparsity 3 years ago
unpack-trees.h
upload-pack.c
upload-pack.h
url.c
url.h
urlmatch.c
urlmatch.h
usage.c usage.c: add a non-fatal bug() function to go with BUG() 3 years ago
userdiff.c
userdiff.h
utf8.c
utf8.h
varint.c
varint.h
version.c
version.h
versioncmp.c
walker.c
walker.h
wildmatch.c tree-wide: apply equals-null.cocci 3 years ago
wildmatch.h
worktree.c Merge branch 'ep/maint-equals-null-cocci' 3 years ago
worktree.h
wrap-for-bin.sh
wrapper.c Merge branch 'ep/maint-equals-null-cocci' 3 years ago
write-or-die.c
ws.c
wt-status.c
wt-status.h
xdiff-interface.c Merge branch 'ep/maint-equals-null-cocci' for maint-2.35 3 years ago
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