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.
 
 
 
 
 
 
Beat Bolli b10cbdac4c unicode: update the width tables to Unicode 15 1 year ago
.github Merge branch 'tb/ci-concurrency' into maint-2.39 1 year ago
Documentation Merge branch 'gm/signature-format-doc' 1 year ago
block-sha1
builtin Merge branch 'jc/countermand-format-attach' 1 year ago
ci add: remove "add.interactive.useBuiltin" & Perl "git add--interactive" 1 year ago
compat Merge branch 'sk/winansi-createthread-fix' 1 year ago
contrib cocci & cache.h: remove "USE_THE_INDEX_COMPATIBILITY_MACROS" 1 year ago
ewah
git-gui Makefiles: change search through $(MAKEFLAGS) for GNU make 4.4 2 years ago
gitk-git
gitweb
mergetools
negotiator
oss-fuzz
perl
po Merge branch 'fz/po-zh_CN' of github.com:fangyi-zhou/git-po 1 year ago
refs Merge branch 'ps/fsync-refs-fix' into maint-2.39 1 year ago
reftable
sha1collisiondetection@855827c583
sha1dc
sha256
t Merge branch 'ar/test-lib-remove-stale-comment' 1 year ago
templates
trace2
xdiff xdiff: mark unused parameter in xdl_call_hunk_func() 2 years ago
.cirrus.yml
.clang-format
.editorconfig
.gitattributes .gitattributes: include `text` attribute for eol attributes 1 year ago
.gitignore add: remove "add.interactive.useBuiltin" & Perl "git add--interactive" 1 year ago
.gitmodules
.mailmap mailmap: update email address of Matheus Tavares 2 years ago
.tsan-suppressions
CODE_OF_CONDUCT.md
COPYING
GIT-VERSION-GEN Git 2.40 1 year ago
INSTALL add: remove "add.interactive.useBuiltin" & Perl "git add--interactive" 1 year ago
LGPL-2.1
Makefile add: remove "add.interactive.useBuiltin" & Perl "git add--interactive" 1 year ago
README.md
RelNotes Prepare for 2.39.3 just in case 1 year ago
SECURITY.md
abspath.c
aclocal.m4
add-interactive.c diff: mark unused parameters in callbacks 2 years ago
add-interactive.h
add-patch.c read-cache API & users: make discard_index() return void 2 years ago
advice.c
advice.h
alias.c
alias.h
alloc.c
alloc.h
apply.c Merge branch 'jk/unused-post-2.39' into maint-2.39 1 year ago
apply.h
archive-tar.c
archive-zip.c
archive.c Merge branch 'rs/archive-mtime' 1 year ago
archive.h archive: add --mtime 1 year ago
attr.c Merge branch 'kn/attr-from-tree' 1 year ago
attr.h attr: fix instructions on how to check attrs 1 year ago
banned.h
base85.c
bisect.c bisect: no longer try to clean up left-over `.git/head-name` files 1 year ago
bisect.h
blame.c
blame.h
blob.c blob: drop unused parts of parse_blob_buffer() 2 years ago
blob.h blob: drop unused parts of parse_blob_buffer() 2 years ago
bloom.c
bloom.h
branch.c branch: improve advice when --recurse-submodules fails 1 year ago
branch.h
builtin.h read-tree: add "--super-prefix" option, eliminate global 1 year ago
bulk-checkin.c
bulk-checkin.h
bundle-uri.c Merge branch 'ds/bundle-uri-5' 1 year ago
bundle-uri.h clone: set fetch.bundleURI if appropriate 1 year ago
bundle.c Merge branch 'ab/various-leak-fixes' 1 year ago
bundle.h
cache-tree.c Merge branch 'rs/cache-tree-strbuf-growth-fix' 1 year ago
cache-tree.h cache-tree API: remove redundant update_main_cache_tree() 1 year ago
cache.h Merge branch 'ab/the-index-compatibility' 1 year 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 utf8: fix truncated string lengths in `utf8_strnwidth()` 2 years ago
column.h
combine-diff.c diff: mark unused parameters in callbacks 2 years ago
command-list.txt
commit-graph.c use DUP_ARRAY 1 year ago
commit-graph.h
commit-reach.c use DUP_ARRAY 1 year ago
commit-reach.h
commit-slab-decl.h
commit-slab-impl.h
commit-slab.h
commit.c Merge branch 'rs/clear-commit-marks-cleanup' into maint-2.39 1 year ago
commit.h add API: remove run_add_interactive() wrapper function 1 year ago
common-main.c
config.c *: fix typos which duplicate a word 1 year ago
config.h config.h: remove unused git_configset_add_parameters() 1 year ago
config.mak.dev
config.mak.in
config.mak.uname Merge branch 'hj/remove-msys-support' 1 year ago
configure.ac
connect.c Merge branch 'ds/bundle-uri-4' 1 year ago
connect.h server_supports_v2(): use a separate function for die_on_error 2 years ago
connected.c Merge branch 'ab/various-leak-fixes' 2 years ago
connected.h receive-pack: only use visible refs for connectivity check 2 years ago
convert.c attr: add flag `--source` to work with tree-ish 1 year ago
convert.h
copy.c
credential.c credential: new attribute password_expiry_utc 1 year ago
credential.h credential: new attribute password_expiry_utc 1 year ago
csum-file.c hashfile: allow skipping the hash function 1 year ago
csum-file.h hashfile: allow skipping the hash function 1 year ago
ctype.c
daemon.c
date.c date.c: allow ISO 8601 reduced precision times 1 year ago
date.h
decorate.c
decorate.h
delta-islands.c delta-islands: fix segfault when freeing island marks 1 year ago
delta-islands.h delta-islands: free island_marks and bitmaps 1 year ago
delta.h
detect-compiler
diagnose.c
diagnose.h
diff-delta.c
diff-lib.c diff: mark unused parameters in callbacks 2 years ago
diff-merges.c
diff-merges.h
diff-no-index.c diff: factor out add_diff_options() 2 years ago
diff.c Merge branch 'jc/diff-algo-attribute' 1 year ago
diff.h Merge branch 'jc/diff-algo-attribute' 1 year ago
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: drop unused `DIR_ITERATOR_FOLLOW_SYMLINKS` 1 year ago
dir-iterator.h dir-iterator: drop unused `DIR_ITERATOR_FOLLOW_SYMLINKS` 1 year ago
dir.c Merge branch 'ws/single-file-cone' 1 year ago
dir.h dir.c: free "ident" and "exclude_per_dir" in "struct untracked_cache" 2 years ago
editor.c
entry.c read-tree: add "--super-prefix" option, eliminate global 1 year ago
entry.h read-tree: add "--super-prefix" option, eliminate global 1 year ago
environment.c read-tree: add "--super-prefix" option, eliminate global 1 year ago
environment.h
exec-cmd.c
exec-cmd.h
fetch-negotiator.c
fetch-negotiator.h
fetch-pack.c server_supports_v2(): use a separate function for die_on_error 2 years ago
fetch-pack.h
fmt-merge-msg.c
fmt-merge-msg.h
fsck.c fsck: do not assume NUL-termination of buffers 1 year ago
fsck.h fsck: provide a function to fsck buffer without object struct 1 year ago
fsmonitor--daemon.h
fsmonitor-ipc.c
fsmonitor-ipc.h
fsmonitor-path-utils.h
fsmonitor-settings.c treewide: always have a valid "index_state.repo" member 1 year ago
fsmonitor-settings.h
fsmonitor.c treewide: always have a valid "index_state.repo" member 1 year ago
fsmonitor.h
generate-cmdlist.sh
generate-configlist.sh
generate-hooklist.sh
gettext.c
gettext.h
git-archimport.perl
git-compat-util.h Merge branch 'rs/use-enhanced-bre-on-macos' into maint-2.39 1 year ago
git-curl-compat.h http: support CURLOPT_PROTOCOLS_STR 1 year ago
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
git-mergetool.sh
git-p4.py
git-quiltimport.sh
git-request-pull.sh request-pull: filter out SSH/X.509 tag signatures 1 year ago
git-send-email.perl send-email: relay '-v N' to format-patch 2 years ago
git-sh-i18n.sh
git-sh-setup.sh
git-submodule.sh Merge branch 'ss/pull-v-recurse-fix' 1 year ago
git-svn.perl
git-web--browse.sh
git.c trace.c, git.c: remove unnecessary parameter to trace_repo_setup() 1 year ago
git.rc
gpg-interface.c Merge branch 'js/gpg-errors' 1 year ago
gpg-interface.h
graph.c
graph.h
grep.c Merge branch 'ab/various-leak-fixes' 1 year ago
grep.h
hash-lookup.c
hash-lookup.h
hash.h
hashmap.c
hashmap.h
help.c help.c: fix autocorrect in work tree for bare repository 2 years ago
help.h
hex.c
hook.c hook API: support passing stdin to hooks, convert am's 'post-rewrite' 1 year ago
hook.h hook API: support passing stdin to hooks, convert am's 'post-rewrite' 1 year ago
http-backend.c http-backend.c: fix cmd_main() memory leak, refactor reg{exec,free}() 1 year ago
http-fetch.c http-fetch: invoke trace2_cmd_name() 2 years ago
http-push.c Sync with 2.36.5 1 year ago
http-walker.c
http.c Sync with 2.38.4 1 year ago
http.h Sync with 2.37.6 1 year ago
ident.c
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.h
line-range.c line-range: fix infinite loop bug with '$' regex 1 year ago
line-range.h
linear-assignment.c
linear-assignment.h
list-objects-filter-options.c list-objects-filter: remove OPT_PARSE_LIST_OBJECTS_FILTER_INIT() 2 years ago
list-objects-filter-options.h list-objects-filter: remove OPT_PARSE_LIST_OBJECTS_FILTER_INIT() 2 years ago
list-objects-filter.c Merge branch 'jk/unused-post-2.39' into maint-2.39 1 year ago
list-objects-filter.h
list-objects.c list-objects: drop process_gitlink() function 2 years ago
list-objects.h
list.h
ll-merge.c attr: add flag `--source` to work with tree-ish 1 year ago
ll-merge.h
lockfile.c
lockfile.h
log-tree.c
log-tree.h
ls-refs.c ls-refs: use repository parameter to iterate refs 2 years ago
ls-refs.h
mailinfo.c
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.h
merge-ort.c
merge-ort.h
merge-recursive.c treewide: always have a valid "index_state.repo" member 1 year ago
merge-recursive.h
merge.c
mergesort.h
midx.c
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 'jk/hash-object-fsck' 1 year ago
object-name.c
object-store.h repo_read_object_file(): stop wrapping read_object_file_extended() 1 year ago
object.c blob: drop unused parts of parse_blob_buffer() 2 years ago
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 pack-bitmap.c: trace bitmap ignore logs when midx-bitmap is found 2 years ago
pack-bitmap.h
pack-check.c
pack-mtimes.c
pack-mtimes.h
pack-objects.c
pack-objects.h
pack-revindex.c
pack-revindex.h
pack-write.c git: remove duplicate includes 2 years ago
pack.h
packfile.c packfile: inline custom read_object() 1 year ago
packfile.h
pager.c
parallel-checkout.c
parallel-checkout.h
parse-options-cb.c
parse-options.c use DUP_ARRAY 1 year ago
parse-options.h submodule--helper: don't use global --super-prefix in "absorbgitdirs" 1 year ago
patch-delta.c
patch-ids.c
patch-ids.h
path.c
path.h
pathspec.c docs & comments: replace mentions of "git-add--interactive.perl" 1 year ago
pathspec.h
pkt-line.c
pkt-line.h
preload-index.c
pretty.c Sync with Git 2.37.5 2 years ago
pretty.h
prio-queue.c
prio-queue.h
progress.c
progress.h
promisor-remote.c
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: avoid compiler warning when char is unsigned 1 year ago
range-diff.h
reachable.c
reachable.h
read-cache.c Merge branch 'rs/size-t-fixes' 1 year ago
rebase-interactive.c
rebase-interactive.h
rebase.c
rebase.h
ref-filter.c convert trivial uses of strncmp() to starts_with() 1 year ago
ref-filter.h
reflog-walk.c
reflog-walk.h
reflog.c Merge branch 'rs/reflog-expiry-cleanup' into maint-2.39 1 year ago
reflog.h
refs.c Merge branch 'jk/shorten-unambiguous-ref-wo-sscanf' 1 year ago
refs.h ls-refs: use repository parameter to iterate refs 2 years ago
refspec.c
refspec.h
remote-curl.c Sync with 2.37.6 1 year ago
remote.c
remote.h clone: request the 'bundle-uri' command when available 1 year ago
replace-object.c
replace-object.h
repo-settings.c features: feature.manyFiles implies fast index writes 1 year ago
repository.c treewide: always have a valid "index_state.repo" member 1 year ago
repository.h features: feature.manyFiles implies fast index writes 1 year ago
rerere.c
rerere.h
reset.c rebase: use 'skip_cache_tree_update' option 2 years ago
reset.h
resolve-undo.c
resolve-undo.h
revision.c treewide: always have a valid "index_state.repo" member 1 year ago
revision.h Merge branch 'ps/receive-use-only-advertised' 2 years ago
run-command.c run-command: allow stdin for run_processes_parallel 1 year ago
run-command.h Merge branch 'rs/no-more-run-command-v' 2 years ago
scalar.c scalar: only warn when background maintenance fails 1 year ago
send-pack.c
send-pack.h
sequencer.c Merge branch 'pw/rebase-i-parse-fix' 1 year ago
sequencer.h sequencer API users: fix get_replay_opts() leaks 1 year ago
serve.c protocol v2: add server-side "bundle-uri" skeleton 1 year ago
serve.h
server-info.c
setup.c
sh-i18n--envsubst.c
sha1dc_git.c
sha1dc_git.h Makefile & test-tool: replace "DC_SHA1" variable with a "define" 2 years ago
shallow.c
shallow.h
shared.mak Merge branch 'ab/gnumake-4.4-fix' 2 years ago
shell.c
shortlog.h
sideband.c
sideband.h
sigchain.c
sigchain.h
simple-ipc.h
sparse-index.c treewide: always have a valid "index_state.repo" member 1 year ago
sparse-index.h
split-index.c treewide: always have a valid "index_state.repo" member 1 year ago
split-index.h
stable-qsort.c
strbuf.c strbuf: introduce strbuf_strip_file_from_path() 1 year ago
strbuf.h strbuf: introduce strbuf_strip_file_from_path() 1 year ago
streaming.c streaming: inline call to read_object_file_extended() 1 year ago
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
submodule.c Merge branch 'ab/no-more-git-global-super-prefix' 1 year ago
submodule.h read-tree: add "--super-prefix" option, eliminate global 1 year ago
symlinks.c
tag.c
tag.h
tar.h
tempfile.c
tempfile.h
thread-utils.c
thread-utils.h
tmp-objdir.c
tmp-objdir.h
trace.c trace.c, git.c: remove unnecessary parameter to trace_repo_setup() 1 year ago
trace.h trace.c, git.c: remove unnecessary parameter to trace_repo_setup() 1 year ago
trace2.c
trace2.h
trailer.c
trailer.h
transport-helper.c clone: request the 'bundle-uri' command when available 1 year ago
transport-internal.h clone: request the 'bundle-uri' command when available 1 year ago
transport.c Merge branch 'ds/bundle-uri-4' 1 year ago
transport.h clone: request the 'bundle-uri' command when available 1 year ago
tree-diff.c
tree-walk.c
tree-walk.h
tree.c
tree.h
unicode-width.h unicode: update the width tables to Unicode 15 1 year ago
unimplemented.sh
unix-socket.c
unix-socket.h
unix-stream-server.c
unix-stream-server.h
unpack-trees.c treewide: always have a valid "index_state.repo" member 1 year ago
unpack-trees.h read-tree: add "--super-prefix" option, eliminate global 1 year ago
upload-pack.c refs: get rid of global list of hidden refs 2 years ago
upload-pack.h
url.c
url.h
urlmatch.c convert trivial uses of strncmp() to starts_with() 1 year ago
urlmatch.h
usage.c
userdiff.c Merge branch 'jc/diff-algo-attribute' 1 year ago
userdiff.h diff: teach diff to read algorithm from diff driver 1 year ago
utf8.c Sync with Git 2.31.6 2 years ago
utf8.h Sync with Git 2.31.6 2 years ago
varint.c
varint.h
version.c
version.h
versioncmp.c
walker.c
walker.h
wildmatch.c
wildmatch.h
worktree.c
worktree.h
wrap-for-bin.sh
wrapper.c
write-or-die.c
ws.c Merge branch 'kn/attr-from-tree' 1 year ago
wt-status.c Merge branch 'jk/unused-post-2.39' 1 year 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