Git with broken hash generation to generate collisions between object IDs. Don't use this! https://undefinedbehavior.de/posts/commit-vandalism/
Go to file
Junio C Hamano 1749053d02 Merge branch 'jc/renormalize-merge-kill-safer-crlf'
Fix a corner case in merge-recursive regression that crept in
during 2.10 development cycle.

* jc/renormalize-merge-kill-safer-crlf:
  convert: git cherry-pick -Xrenormalize did not work
  merge-recursive: handle NULL in add_cacheinfo() correctly
  cherry-pick: demonstrate a segmentation fault
2016-12-19 14:45:30 -08:00
block-sha1
builtin Merge branch 'jt/use-trailer-api-in-commands' 2016-12-19 14:45:29 -08:00
ci
compat mingw: intercept isatty() to handle /dev/null as Git expects it 2016-12-11 16:15:46 -08:00
contrib Merge branch 'rs/cocci' into maint 2016-11-29 13:28:00 -08:00
Documentation First batch for 2.12 2016-12-16 15:30:13 -08:00
ewah
git-gui git-gui 0.21.0 2016-10-20 09:33:17 -07:00
gitk-git
gitweb Merge branch 'ab/gitweb-abbrev-links' 2016-10-26 13:14:46 -07:00
mergetools mergetools/vimdiff: trust Vim's exit code 2016-11-29 10:57:41 -08:00
perl git-svn: allow "0" in SVN path components 2016-12-12 10:49:50 -08:00
po Merge branch 'russian-l10n' of https://github.com/DJm00n/git-po-ru 2016-11-29 21:19:43 +08:00
ppc
refs Merge branch 'jk/ref-symlink-loop' 2016-10-17 13:25:20 -07:00
t Merge branch 'jc/renormalize-merge-kill-safer-crlf' 2016-12-19 14:45:30 -08:00
templates pre-receive.sample: mark it executable 2016-10-28 14:21:11 -07:00
vcs-svn
xdiff Merge branch 'mh/diff-indent-heuristic' 2016-10-03 13:30:38 -07:00
.gitattributes
.gitignore
.mailmap
.travis.yml Merge branch 'ls/macos-update' into maint 2016-11-29 13:27:56 -08:00
abspath.c
aclocal.m4
advice.c
advice.h
alias.c
alloc.c
apply.c i18n: apply: mark error message for translation 2016-10-17 14:51:42 -07:00
apply.h
archive-tar.c
archive-zip.c
archive.c archive: read local configuration 2016-11-22 13:55:20 -08:00
archive.h archive: read local configuration 2016-11-22 13:55:20 -08:00
argv-array.c
argv-array.h
attr.c read info/{attributes,exclude} only when in repository 2016-10-26 13:30:51 -07:00
attr.h
base85.c
bisect.c
bisect.h
blob.c
blob.h
branch.c worktree.c: get_worktrees() takes a new flag argument 2016-11-28 13:18:51 -08:00
branch.h create_branch: drop unused "head" parameter 2016-11-09 14:56:21 -08:00
builtin.h
bulk-checkin.c
bulk-checkin.h
bundle.c
bundle.h
cache-tree.c
cache-tree.h
cache.h Merge branch 'ls/git-open-cloexec' 2016-10-31 13:15:21 -07:00
check_bindir
check-builtins.sh
check-racy.c
color.c
color.h
column.c
column.h
combine-diff.c diff_aligned_abbrev: use "struct oid" 2016-10-26 13:30:51 -07:00
command-list.txt
commit-slab.h
commit.c commit: make ignore_non_trailer take buf/len 2016-11-29 14:22:18 -08:00
commit.h commit: make ignore_non_trailer take buf/len 2016-11-29 14:22:18 -08:00
common-main.c common-main: stop munging argv[0] path 2016-11-29 11:01:48 -08:00
config.c
config.mak.in
config.mak.uname
configure.ac Merge branch 'dp/autoconf-curl-ssl' into maint 2016-10-28 09:01:13 -07:00
connect.c Merge branch 'ls/filter-process' 2016-10-31 13:15:21 -07:00
connect.h
connected.c check_connected: accept an env argument 2016-10-10 13:54:02 -07:00
connected.h check_connected: accept an env argument 2016-10-10 13:54:02 -07:00
convert.c Merge branch 'jc/renormalize-merge-kill-safer-crlf' 2016-12-19 14:45:30 -08:00
convert.h
copy.c
COPYING
credential-cache--daemon.c i18n: credential-cache--daemon: mark advice for translation 2016-10-17 14:51:47 -07:00
credential-cache.c
credential-store.c
credential.c
credential.h
csum-file.c
csum-file.h
ctype.c
daemon.c Merge branch 'jk/daemon-path-ok-check-truncation' into maint 2016-11-29 13:27:56 -08:00
date.c
decorate.c
decorate.h
delta.h
diff-delta.c
diff-lib.c commit: fix empty commit creation when there's no changes but ita entries 2016-10-24 10:48:23 -07:00
diff-no-index.c
diff.c Merge branch 'tk/diffcore-delta-remove-unused' into maint 2016-11-29 13:28:03 -08:00
diff.h Merge branch 'nd/ita-empty-commit' 2016-10-27 14:58:50 -07:00
diffcore-break.c Merge branch 'tk/diffcore-delta-remove-unused' into maint 2016-11-29 13:28:03 -08:00
diffcore-delta.c Merge branch 'tk/diffcore-delta-remove-unused' 2016-11-17 13:45:22 -08:00
diffcore-order.c
diffcore-pickaxe.c
diffcore-rename.c Merge branch 'tk/diffcore-delta-remove-unused' into maint 2016-11-29 13:28:03 -08:00
diffcore.h Merge branch 'tk/diffcore-delta-remove-unused' into maint 2016-11-29 13:28:03 -08:00
dir-iterator.c
dir-iterator.h
dir.c read info/{attributes,exclude} only when in repository 2016-10-26 13:30:51 -07:00
dir.h ls-files: add pathspec matching for submodules 2016-10-10 12:14:58 -07:00
editor.c
entry.c
environment.c Merge branch 'lt/abbrev-auto' 2016-10-27 14:58:47 -07:00
exec_cmd.c common-main: stop munging argv[0] path 2016-11-29 11:01:48 -08:00
exec_cmd.h common-main: stop munging argv[0] path 2016-11-29 11:01:48 -08:00
fast-import.c
fetch-pack.c fetch-pack.c: correct command at the beginning of an error message 2016-11-11 13:28:39 -08:00
fetch-pack.h
fmt-merge-msg.h
fsck.c
fsck.h
generate-cmdlist.sh
gettext.c
gettext.h
git-add--interactive.perl
git-archimport.perl
git-bisect.sh
git-compat-util.h Merge branch 'jk/common-main' into maint-2.10 2016-12-05 11:24:28 -08:00
git-cvsexportcommit.perl
git-cvsimport.perl
git-cvsserver.perl
git-difftool--helper.sh
git-difftool.perl
git-filter-branch.sh
git-instaweb.sh
git-merge-octopus.sh
git-merge-one-file.sh
git-merge-resolve.sh
git-mergetool--lib.sh mergetool: honor mergetool.$tool.trustExitCode for built-in tools 2016-11-29 10:54:03 -08:00
git-mergetool.sh mergetool: honor -O<orderfile> 2016-10-11 10:04:31 -07:00
git-p4.py Merge branch 'ls/p4-retry-thrice' 2016-12-16 15:27:50 -08:00
git-parse-remote.sh
git-quiltimport.sh
git-rebase--am.sh
git-rebase--interactive.sh Merge branch 'js/rebase-i-commentchar-fix' 2016-11-23 11:23:17 -08:00
git-rebase--merge.sh
git-rebase.sh
git-relink.perl
git-remote-testgit.sh
git-request-pull.sh
git-send-email.perl
git-sh-i18n.sh
git-sh-setup.sh git-sh-setup: be explicit where to dot-source git-sh-i18n from. 2016-10-30 16:13:49 -07:00
git-stash.sh stash: allow stashes to be referenced by index only 2016-10-26 09:58:10 -07:00
git-submodule.sh
git-svn.perl git-svn: "git worktree" awareness 2016-10-14 01:36:12 +00:00
GIT-VERSION-GEN Start post 2.11 cycle 2016-12-05 11:31:47 -08:00
git-web--browse.sh
git.c Merge branch 'jk/common-main' into maint-2.10 2016-12-05 11:24:28 -08:00
git.rc
gpg-interface.c gpg-interface: use more status letters 2016-10-12 10:41:59 -07:00
gpg-interface.h
graph.c Merge branch 'jk/graph-padding-fix' into maint 2016-10-11 14:19:03 -07:00
graph.h
grep.c
grep.h
hashmap.c
hashmap.h
help.c
help.h
hex.c hex: make wraparound of the index into ring-buffer explicit 2016-10-26 10:54:11 -07:00
http-backend.c pkt-line: rename packet_write() to packet_write_fmt() 2016-10-17 11:36:50 -07:00
http-fetch.c
http-push.c
http-walker.c
http.c Merge branch 'dt/http-empty-auth' 2016-10-17 13:25:18 -07:00
http.h
ident.c Merge branch 'jk/ident-ai-canonname-could-be-null' into maint 2016-10-03 13:22:32 -07:00
imap-send.c Merge branch 'jc/cocci-xstrdup-or-null' into maint 2016-10-28 09:01:23 -07:00
INSTALL
iterator.h
khash.h
kwset.c
kwset.h
levenshtein.c
levenshtein.h
LGPL-2.1
line-log.c
line-log.h
line-range.c
line-range.h
list-objects.c
list-objects.h
list.h
ll-merge.c
ll-merge.h
lockfile.c
lockfile.h
log-tree.c
log-tree.h
mailinfo.c Merge branch 'kd/mailinfo-quoted-string' 2016-10-03 13:30:38 -07:00
mailinfo.h
mailmap.c cocci: refactor common patterns to use xstrdup_or_null() 2016-10-12 11:22:10 -07:00
mailmap.h
Makefile Merge branch 'ls/macos-update' into maint 2016-11-29 13:27:56 -08:00
match-trees.c
merge-blobs.c
merge-blobs.h
merge-recursive.c Merge branch 'jc/renormalize-merge-kill-safer-crlf' 2016-12-19 14:45:30 -08:00
merge-recursive.h
merge.c
mergesort.c
mergesort.h
mru.c
mru.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.c
object.h
pack-bitmap-write.c
pack-bitmap.c sha1_file: rename git_open_noatime() to git_open() 2016-10-25 10:59:13 -07:00
pack-bitmap.h
pack-check.c Merge branch 'jk/verify-packfile-gently' into maint 2016-10-11 14:21:36 -07:00
pack-objects.c
pack-objects.h
pack-revindex.c
pack-revindex.h
pack-write.c
pack.h
pager.c
parse-options-cb.c Merge branch 'rs/cocci' 2016-10-17 13:25:21 -07:00
parse-options.c
parse-options.h
patch-delta.c
patch-ids.c
patch-ids.h
path.c Merge branch 'rs/ring-buffer-wraparound' 2016-10-27 14:58:49 -07:00
pathspec.c Merge branch 'ex/deprecate-empty-pathspec-as-match-all' 2016-10-26 13:14:56 -07:00
pathspec.h
pkt-line.c pkt-line: add functions to read/write flush terminated packet streams 2016-10-17 11:36:50 -07:00
pkt-line.h pkt-line: add functions to read/write flush terminated packet streams 2016-10-17 11:36:50 -07:00
preload-index.c
pretty.c Merge branch 'rs/cocci' into maint 2016-10-28 09:01:23 -07:00
prio-queue.c
prio-queue.h
progress.c
progress.h
prompt.c
prompt.h
quote.c
quote.h
reachable.c
reachable.h
read-cache.c read-cache: make sure file handles are not inherited by child processes 2016-10-25 11:10:18 -07:00
README.md
ref-filter.c Merge branch 'jc/for-each-ref-head-segfault-fix' 2016-11-23 11:23:16 -08:00
ref-filter.h
reflog-walk.c
reflog-walk.h
refs.c Merge branch 'jc/cocci-xstrdup-or-null' 2016-10-26 13:14:45 -07:00
refs.h Merge branch 'nd/shallow-deepen' 2016-10-10 14:03:50 -07:00
RelNotes Start post 2.11 cycle 2016-12-05 11:31:47 -08:00
remote-curl.c Merge branch 'nd/shallow-deepen' 2016-10-10 14:03:50 -07:00
remote-testsvn.c
remote.c
remote.h
replace_object.c
rerere.c
rerere.h
resolve-undo.c
resolve-undo.h
revision.c Merge branch 'vn/revision-shorthand-for-side-branch-log' 2016-10-06 14:53:10 -07:00
revision.h
run-command.c run-command: add clean_on_exit_handler 2016-10-17 11:36:50 -07:00
run-command.h run-command: add clean_on_exit_handler 2016-10-17 11:36:50 -07:00
send-pack.c cocci: refactor common patterns to use xstrdup_or_null() 2016-10-12 11:22:10 -07:00
send-pack.h
sequencer.c Merge branch 'jt/use-trailer-api-in-commands' 2016-12-19 14:45:29 -08:00
sequencer.h sequencer: get rid of the subcommand field 2016-10-21 09:32:34 -07:00
server-info.c
setup.c
sh-i18n--envsubst.c
sha1_file.c Merge branch 'jk/alt-odb-cleanup' 2016-11-10 13:17:30 -08:00
sha1_name.c Merge branch 'jk/no-looking-at-dotgit-outside-repo' 2016-11-01 12:58:49 -07:00
sha1-array.c Merge branch 'rs/qsort' 2016-10-10 14:03:46 -07:00
sha1-array.h
sha1-lookup.c
sha1-lookup.h
shallow.c Merge branch 'ls/filter-process' 2016-10-31 13:15:21 -07:00
shell.c
shortlog.h
show-index.c
sideband.c
sideband.h
sigchain.c
sigchain.h
split-index.c split-index: s/eith/with/ typo fix 2016-11-01 11:48:02 -07:00
split-index.h
strbuf.c link_alt_odb_entry: handle normalize_path errors 2016-10-10 13:52:36 -07:00
strbuf.h link_alt_odb_entry: handle normalize_path errors 2016-10-10 13:52:36 -07:00
streaming.c Merge branch 'jk/pack-objects-optim-mru' 2016-10-10 14:03:47 -07:00
streaming.h
string-list.c
string-list.h
submodule-config.c
submodule-config.h
submodule.c Merge branch 'bw/push-dry-run' 2016-12-16 15:27:48 -08:00
submodule.h push: fix --dry-run to not push submodules 2016-11-23 08:39:14 -08:00
symlinks.c
tag.c
tag.h
tar.h
tempfile.c
tempfile.h
thread-utils.c
thread-utils.h
tmp-objdir.c tmp-objdir: do not migrate files starting with '.' 2016-10-10 13:54:02 -07:00
tmp-objdir.h tmp-objdir: introduce API for temporary object directories 2016-10-10 13:54:02 -07:00
trace.c
trace.h
trailer.c trailer: have function to describe trailer layout 2016-11-29 14:22:18 -08:00
trailer.h trailer: have function to describe trailer layout 2016-11-29 14:22:18 -08:00
transport-helper.c Merge branch 'nd/shallow-deepen' 2016-10-10 14:03:50 -07:00
transport.c Merge branch 'bw/push-dry-run' 2016-12-16 15:27:48 -08:00
transport.h Merge branch 'jc/abbrev-auto' 2016-10-27 14:58:48 -07:00
tree-diff.c
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
update_unicode.sh
upload-pack.c Merge branch 'ls/filter-process' 2016-10-31 13:15:21 -07:00
url.c
url.h
urlmatch.c
urlmatch.h
usage.c
userdiff.c
userdiff.h
utf8.c
utf8.h
varint.c
varint.h
version.c
version.h
versioncmp.c
walker.c
walker.h
wildmatch.c
wildmatch.h
worktree.c worktree list: keep the list sorted 2016-11-28 13:18:51 -08:00
worktree.h worktree list: keep the list sorted 2016-11-28 13:18:51 -08:00
wrap-for-bin.sh
wrapper.c Merge branch 'jk/write-file' 2016-07-19 13:22:23 -07:00
write_or_die.c run-command: move check_pipe() from write_or_die to run_command 2016-10-17 11:36:49 -07:00
ws.c
wt-status.c Merge branch 'nd/ita-empty-commit' 2016-10-27 14:58:50 -07:00
wt-status.h wt-status: teach has_{unstaged,uncommitted}_changes() about submodules 2016-10-07 09:29:31 -07:00
xdiff-interface.c
xdiff-interface.h
zlib.c

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 http://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 http://news.gmane.org/gmane.comp.version-control.git/, http://marc.info/?l=git and other archival sites.

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