Find a file
Michael Haggerty c5f04dddb6 delete_refs(): add a flags argument
This will be useful for passing REF_NODEREF through.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-06-20 11:38:18 -07:00
block-sha1
builtin delete_refs(): add a flags argument 2016-06-20 11:38:18 -07:00
compat Merge branch 'ky/imap-send-openssl-1.1.0' 2016-04-22 15:45:08 -07:00
contrib Merge branch 'mg/complete-cherry-mark-to-log' 2016-04-13 14:12:40 -07:00
Documentation Seventh batch for post 2.8 cycle 2016-04-25 15:18:35 -07:00
ewah
git-gui
gitk-git Merge branch 'master' of git://ozlabs.org/~paulus/gitk 2016-03-20 18:05:10 -07:00
gitweb
mergetools mergetools: add support for ExamDiff 2016-04-04 09:15:14 -07:00
perl git-svn: shorten glob error message 2016-03-15 01:35:39 +00:00
po l10n-2.8.0-rnd3-fr 2016-04-25 13:36:26 -07:00
ppc
refs delete_refs(): add a flags argument 2016-06-20 11:38:18 -07:00
t refs: resolve symbolic refs first 2016-06-13 11:23:50 +02:00
templates
vcs-svn
xdiff Merge branch 'rj/xdiff-prepare-plug-leak-on-error-codepath' into maint 2016-04-14 18:57:46 -07:00
.gitattributes
.gitignore
.mailmap
.travis.yml
abspath.c Windows: shorten code by re-using convert_slashes() 2016-04-04 18:03:02 -07:00
aclocal.m4
advice.c
advice.h
alias.c
alloc.c
archive-tar.c
archive-zip.c
archive.c
archive.h
argv-array.c
argv-array.h
attr.c Merge branch 'ss/exc-flag-is-a-collection-of-bits' into maint 2016-04-14 18:37:15 -07:00
attr.h
base85.c
bisect.c
bisect.h
blob.c
blob.h
branch.c branch -m: update all per-worktree HEADs 2016-04-04 12:57:22 -07:00
branch.h branch -m: update all per-worktree HEADs 2016-04-04 12:57:22 -07:00
builtin.h
bulk-checkin.c
bulk-checkin.h
bundle.c bundle: don't leak an fd in case of early return 2016-04-01 10:33:18 -07:00
bundle.h
cache-tree.c
cache-tree.h
cache.h safe_create_leading_directories(): improve docstring 2016-05-05 16:37:30 +02:00
check-builtins.sh
check-racy.c
check_bindir
color.c
color.h
column.c
column.h
combine-diff.c
command-list.txt
commit-slab.h
commit.c
commit.h pretty: allow tweaking tabwidth in --expand-tabs 2016-03-30 12:52:26 -07:00
config.c Merge branch 'jk/do-not-printf-NULL' 2016-04-22 15:45:09 -07:00
config.mak.in
config.mak.uname Merge branch 'ad/cygwin-wants-rename' 2016-04-22 15:45:10 -07:00
configure.ac Merge branch 'ky/imap-send-openssl-1.1.0' 2016-04-22 15:45:08 -07:00
connect.c Merge branch 'cn/deprecate-ssh-git-url' 2016-03-16 13:16:40 -07:00
connect.h
connected.c
connected.h
convert.c
convert.h
copy.c
COPYING
credential-cache--daemon.c Merge branch 'jk/credential-cache-comment-exit' into maint 2016-04-14 18:37:16 -07:00
credential-cache.c credential-cache, send_request: close fd when done 2016-04-01 10:33:18 -07:00
credential-store.c
credential.c
credential.h
csum-file.c
csum-file.h
ctype.c
daemon.c
date.c
decorate.c
decorate.h
delta.h
diff-delta.c
diff-lib.c
diff-no-index.c
diff.c Merge branch 'mm/diff-renames-default' 2016-04-03 10:29:22 -07:00
diff.h Merge branch 'mm/diff-renames-default' 2016-04-03 10:29:22 -07:00
diffcore-break.c
diffcore-delta.c
diffcore-order.c
diffcore-pickaxe.c
diffcore-rename.c Merge branch 'sg/diff-multiple-identical-renames' 2016-04-13 14:12:32 -07:00
diffcore.h
dir.c Merge branch 'ss/exc-flag-is-a-collection-of-bits' into maint 2016-04-14 18:37:15 -07:00
dir.h remove_dir_recursively(): add docstring 2016-05-05 16:37:30 +02:00
editor.c
entry.c
environment.c Merge branch 'jk/check-repository-format' 2016-04-13 14:12:28 -07:00
exec_cmd.c
exec_cmd.h
fast-import.c
fetch-pack.c
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 'ky/imap-send-openssl-1.1.0' 2016-04-22 15:45:08 -07: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 merge-octopus: abort if index does not match HEAD 2016-04-12 18:39:43 -07:00
git-merge-one-file.sh
git-merge-resolve.sh
git-mergetool--lib.sh mergetools: create mergetool_find_win32_cmd() helper function for winmerge 2016-04-04 09:15:00 -07:00
git-mergetool.sh
git-p4.py Merge branch 'ls/p4-map-user' 2016-04-06 11:39:05 -07:00
git-parse-remote.sh
git-quiltimport.sh
git-rebase--am.sh
git-rebase--interactive.sh Merge branch 'rt/rebase-i-shorten-stop-report' 2016-04-13 14:12:30 -07:00
git-rebase--merge.sh
git-rebase.sh rebase: decouple --exec from --interactive 2016-03-18 14:35:31 -07:00
git-relink.perl
git-remote-testgit.sh
git-request-pull.sh
git-send-email.perl Merge branch 'ew/send-email-drop-data-dumper' 2016-04-22 15:45:06 -07:00
git-sh-i18n.sh
git-sh-setup.sh
git-stash.sh
git-submodule.sh Merge branch 'sb/submodule-path-misc-bugs' 2016-04-25 15:17:16 -07:00
git-svn.perl git-svn: fix URL canonicalization during init w/ SVN 1.7+ 2016-03-16 20:16:23 +00:00
GIT-VERSION-GEN First batch for post 2.8 cycle 2016-04-03 10:55:36 -07:00
git-web--browse.sh
git.c
git.rc
git.spec.in git.spec.in: use README.md, not README 2016-04-03 10:12:48 -07:00
gpg-interface.c
gpg-interface.h
graph.c
graph.h
grep.c
grep.h
hashmap.c
hashmap.h
help.c
help.h
hex.c
http-backend.c show_head_ref(): check the result of resolve_ref_namespace() 2016-04-10 11:35:39 -07:00
http-fetch.c
http-push.c Merge branch 'jk/path-name-safety-2.6' into jk/path-name-safety-2.7 2016-03-16 10:42:32 -07:00
http-walker.c
http.c Merge branch 'jc/http-socks5h' 2016-04-22 15:45:09 -07:00
http.h
ident.c
imap-send.c Merge branch 'ky/imap-send-openssl-1.1.0' 2016-04-22 15:45:08 -07:00
INSTALL
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 Merge branch 'jk/path-name-safety-2.6' into jk/path-name-safety-2.7 2016-03-16 10:42:32 -07:00
list-objects.h list-objects: pass full pathname to callbacks 2016-03-16 10:41:04 -07:00
ll-merge.c
ll-merge.h
lockfile.c
lockfile.h
log-tree.c pretty: expand tabs in indented logs to make things line up properly 2016-03-30 11:25:35 -07:00
log-tree.h
mailinfo.c
mailinfo.h
mailmap.c
mailmap.h
Makefile Merge branch 'ky/imap-send-openssl-1.1.0' 2016-04-22 15:45:08 -07:00
match-trees.c
merge-blobs.c
merge-blobs.h
merge-recursive.c
merge-recursive.h
merge.c
mergesort.c
mergesort.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 Merge branch 'jk/path-name-safety-2.6' into jk/path-name-safety-2.7 2016-03-16 10:42:32 -07:00
pack-bitmap.c Merge branch 'jk/path-name-safety-2.6' into jk/path-name-safety-2.7 2016-03-16 10:42:32 -07:00
pack-bitmap.h
pack-check.c
pack-objects.c
pack-objects.h
pack-revindex.c
pack-revindex.h
pack-write.c
pack.h
pager.c
parse-options-cb.c
parse-options.c
parse-options.h
patch-delta.c
patch-ids.c
patch-ids.h
path.c Merge branch 'jk/check-repository-format' 2016-04-13 14:12:28 -07:00
pathspec.c
pathspec.h
pkt-line.c
pkt-line.h
preload-index.c
pretty.c pretty: allow tweaking tabwidth in --expand-tabs 2016-03-30 12:52:26 -07:00
prio-queue.c
prio-queue.h
progress.c
progress.h
prompt.c
prompt.h
quote.c
quote.h
reachable.c Merge branch 'maint-2.5' into maint-2.6 2016-03-17 11:26:18 -07:00
reachable.h
read-cache.c
README.md README.md: don't take 'commandname' literally 2016-04-03 10:12:48 -07:00
ref-filter.c
ref-filter.h
reflog-walk.c
reflog-walk.h
refs.c ref_transaction_update(): check refname_is_safe() at a minimum 2016-06-13 11:23:50 +02:00
refs.h delete_refs(): add a flags argument 2016-06-20 11:38:18 -07:00
RelNotes Second batch for post 2.8 cycle 2016-04-06 11:44:24 -07:00
remote-curl.c
remote-testsvn.c
remote.c
remote.h
replace_object.c
rerere.c Merge branch 'jc/rerere-multi' 2016-04-25 15:17:15 -07:00
rerere.h Merge branch 'jc/rerere-multi' 2016-04-25 15:17:15 -07:00
resolve-undo.c
resolve-undo.h
revision.c Merge branch 'lt/pretty-expand-tabs' 2016-04-13 14:12:36 -07:00
revision.h Merge branch 'lt/pretty-expand-tabs' 2016-04-13 14:12:36 -07:00
run-command.c Merge branch 'sb/submodule-parallel-update' 2016-04-06 11:39:01 -07:00
run-command.h Merge branch 'sb/submodule-parallel-update' 2016-04-06 11:39:01 -07:00
send-pack.c
send-pack.h
sequencer.c
sequencer.h
server-info.c
setup.c Merge branch 'jc/xstrfmt-null-with-prec-0' 2016-04-22 15:45:08 -07:00
sh-i18n--envsubst.c
sha1-array.c
sha1-array.h
sha1-lookup.c
sha1-lookup.h
sha1_file.c
sha1_name.c
shallow.c
shell.c
shortlog.h
show-index.c
sideband.c
sideband.h
sigchain.c
sigchain.h
split-index.c
split-index.h
strbuf.c Merge branch 'jk/getwholeline-getdelim-empty' into maint 2016-04-14 18:57:46 -07:00
strbuf.h Merge branch 'sb/submodule-parallel-update' 2016-04-06 11:39:01 -07:00
streaming.c
streaming.h
string-list.c
string-list.h
submodule-config.c Merge branch 'ak/use-hashmap-iter-first-in-submodule-config' 2016-04-13 14:12:29 -07:00
submodule-config.h Merge branch 'sb/submodule-parallel-update' 2016-04-06 11:39:01 -07:00
submodule.c Merge branch 'sb/submodule-parallel-update' 2016-04-06 11:39:01 -07:00
submodule.h Merge branch 'sb/submodule-parallel-update' 2016-04-06 11:39:01 -07:00
symlinks.c
tag.c
tag.h
tar.h
tempfile.c
tempfile.h
test-chmtime.c
test-config.c
test-ctype.c
test-date.c
test-delta.c
test-dump-cache-tree.c
test-dump-split-index.c
test-dump-untracked-cache.c
test-fake-ssh.c
test-genrandom.c
test-hashmap.c
test-index-version.c
test-line-buffer.c
test-match-trees.c
test-mergesort.c
test-mktemp.c
test-parse-options.c
test-path-utils.c
test-prio-queue.c
test-read-cache.c
test-regex.c
test-revision-walking.c
test-run-command.c
test-scrap-cache-tree.c
test-sha1-array.c
test-sha1.c
test-sha1.sh
test-sigchain.c
test-string-list.c
test-submodule-config.c
test-subprocess.c
test-svn-fe.c
test-urlmatch-normalization.c
test-wildmatch.c
thread-utils.c
thread-utils.h
trace.c
trace.h
trailer.c
trailer.h
transport-helper.c
transport.c Merge branch 'cn/deprecate-ssh-git-url' 2016-03-16 13:16:40 -07:00
transport.h
tree-diff.c Merge branch 'maint-2.4' into maint-2.5 2016-03-17 11:24:14 -07:00
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
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.h
wrap-for-bin.sh
wrapper.c
write_or_die.c
ws.c
wt-status.c Merge branch 'sb/misc-cleanups' 2016-04-13 14:12:34 -07:00
wt-status.h
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-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 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