Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Git Source Code Mirror - This is a publish-only repository and all pull requests are ignored. Please follow Documentation/SubmittingPatches procedure for any of your improvements.

tag: v1.7.4-rc1

Fetching latest commit…


Cannot retrieve the latest commit at this time

Octocat-spinner-32 Documentation
Octocat-spinner-32 block-sha1 msvc: Select the "fast" definition of the {get,put}_be32() macros June 27, 2010
Octocat-spinner-32 builtin
Octocat-spinner-32 compat
Octocat-spinner-32 contrib
Octocat-spinner-32 git-gui
Octocat-spinner-32 git_remote_helpers
Octocat-spinner-32 gitk-git
Octocat-spinner-32 gitweb
Octocat-spinner-32 perl
Octocat-spinner-32 ppc fix openssl headers conflicting with custom SHA1 implementations October 02, 2008
Octocat-spinner-32 t
Octocat-spinner-32 templates Modernize git calling conventions in hook templates March 20, 2010
Octocat-spinner-32 vcs-svn
Octocat-spinner-32 xdiff
Octocat-spinner-32 .gitattributes .gitattributes: detect 8-space indent in shell scripts January 06, 2010
Octocat-spinner-32 .gitignore
Octocat-spinner-32 .mailmap Martin Langhoff has a new e-mail address October 06, 2010
Octocat-spinner-32 COPYING Update COPYING with GPLv2 with new FSF address January 17, 2010
Octocat-spinner-32 GIT-VERSION-GEN
Octocat-spinner-32 INSTALL
Octocat-spinner-32 Makefile
Octocat-spinner-32 README README: git lives at these days October 07, 2009
Octocat-spinner-32 RelNotes
Octocat-spinner-32 abspath.c
Octocat-spinner-32 aclocal.m4
Octocat-spinner-32 advice.c Reword "detached HEAD" notification January 29, 2010
Octocat-spinner-32 advice.h Reword "detached HEAD" notification January 29, 2010
Octocat-spinner-32 alias.c split_cmdline: Allow caller to access error string August 11, 2010
Octocat-spinner-32 alloc.c Fix a bunch of pointer declarations (codestyle) May 01, 2009
Octocat-spinner-32 archive-tar.c archive-tar.c: squelch a type mismatch warning May 08, 2009
Octocat-spinner-32 archive-zip.c archive: remove unused headers July 19, 2008
Octocat-spinner-32 archive.c
Octocat-spinner-32 archive.h archive: do not read .gitattributes in working directory April 17, 2009
Octocat-spinner-32 attr.c
Octocat-spinner-32 attr.h
Octocat-spinner-32 base85.c Standardize do { ... } while (0) style August 12, 2010
Octocat-spinner-32 bisect.c
Octocat-spinner-32 bisect.h builtin-rev-list.c: mark file-local function static January 11, 2010
Octocat-spinner-32 blob.c Replace parse_blob() with an explanatory comment January 18, 2010
Octocat-spinner-32 blob.h Replace parse_blob() with an explanatory comment January 18, 2010
Octocat-spinner-32 branch.c
Octocat-spinner-32 branch.h
Octocat-spinner-32 builtin.h
Octocat-spinner-32 bundle.c
Octocat-spinner-32 bundle.h Move bundle specific stuff into bundle.[ch] September 19, 2007
Octocat-spinner-32 cache-tree.c
Octocat-spinner-32 cache-tree.h Optimize "diff-index --cached" using cache-tree May 25, 2009
Octocat-spinner-32 cache.h
Octocat-spinner-32 cherry is built-in, do not ship November 05, 2006
Octocat-spinner-32 check-racy.c ce_match_stat, run_diff_files: use symbolic constants for readability November 10, 2007
Octocat-spinner-32 check_bindir Move all dashed-form commands to libexecdir June 19, 2008
Octocat-spinner-32 color.c
Octocat-spinner-32 color.h
Octocat-spinner-32 combine-diff.c Merge branch 'rs/diff-no-minimal' into maint June 21, 2010
Octocat-spinner-32 command-list.txt Add git-http-backend to command-list. December 26, 2009
Octocat-spinner-32 commit.c
Octocat-spinner-32 commit.h
Octocat-spinner-32 config.c
Octocat-spinner-32 connect.c
Octocat-spinner-32 convert.c
Octocat-spinner-32 copy.c preserve mtime of local clone September 13, 2009
Octocat-spinner-32 csum-file.c Convert existing die(..., strerror(errno)) to die_errno() June 27, 2009
Octocat-spinner-32 csum-file.h Merge branch 'maint' October 10, 2008
Octocat-spinner-32 ctype.c
Octocat-spinner-32 daemon.c
Octocat-spinner-32 date.c
Octocat-spinner-32 decorate.c Unify signedness in hashing calls May 20, 2009
Octocat-spinner-32 decorate.h decorate: allow const objects to be decorated August 20, 2008
Octocat-spinner-32 delta.h Fix big left-shifts of unsigned char June 18, 2009
Octocat-spinner-32 diff-delta.c fix >4GiB source delta assertion failure August 21, 2010
Octocat-spinner-32 diff-lib.c
Octocat-spinner-32 diff-no-index.c
Octocat-spinner-32 diff.c
Octocat-spinner-32 diff.h
Octocat-spinner-32 diffcore-break.c Add a macro DIFF_QUEUE_CLEAR. May 07, 2010
Octocat-spinner-32 diffcore-delta.c Fix diff -B/--dirstat miscounting of newly added contents December 05, 2009
Octocat-spinner-32 diffcore-order.c Use xmemdupz() in many places. September 18, 2007
Octocat-spinner-32 diffcore-pickaxe.c
Octocat-spinner-32 diffcore-rename.c
Octocat-spinner-32 diffcore.h
Octocat-spinner-32 dir.c
Octocat-spinner-32 dir.h
Octocat-spinner-32 editor.c editor: use run_command's shell feature January 05, 2010
Octocat-spinner-32 entry.c
Octocat-spinner-32 environment.c
Octocat-spinner-32 exec_cmd.c Merge branch 'cw/maint-exec-defpath' into maint June 16, 2010
Octocat-spinner-32 exec_cmd.h Refactor git_set_argv0_path() to git_extract_argv0_path() January 26, 2009
Octocat-spinner-32 fast-import.c
Octocat-spinner-32 fetch-pack.h Smart fetch over HTTP: client side November 04, 2009
Octocat-spinner-32 fixup-builtins make remove-dashes: apply to scripts and programs as well, not just t… July 11, 2008
Octocat-spinner-32 fsck.c
Octocat-spinner-32 fsck.h Check the format of more printf-type functions November 15, 2009
Octocat-spinner-32 avoid selecting synopsis at wrong place November 30, 2008
Octocat-spinner-32 git-add--interactive.perl
Octocat-spinner-32 git-archimport.perl perl: use "use warnings" instead of -w September 27, 2010
Octocat-spinner-32 git-compat-util.h
Octocat-spinner-32 git-cvsexportcommit.perl
Octocat-spinner-32 git-cvsimport.perl
Octocat-spinner-32 git-cvsserver.perl
Octocat-spinner-32 git-difftool.perl
Octocat-spinner-32 lost-found: use git rev-parse -q December 03, 2008
Octocat-spinner-32 merge-octopus: Work around environment issue on Windows October 01, 2010
Octocat-spinner-32 Convert to use quiet option when available April 22, 2009
Octocat-spinner-32 git-quiltimport: preserve standard input to be able to read user input February 25, 2009
Octocat-spinner-32 git-relink.perl
Octocat-spinner-32 git-send-email.perl
Octocat-spinner-32 git-svn.perl
Octocat-spinner-32 git.c
Octocat-spinner-32 graph.c
Octocat-spinner-32 graph.h Enable custom schemes for column colors in the graph API July 13, 2010
Octocat-spinner-32 grep.c
Octocat-spinner-32 grep.h
Octocat-spinner-32 hash.c Add 'const' where appropriate to index handling functions March 09, 2008
Octocat-spinner-32 hash.h Add 'const' where appropriate to index handling functions March 09, 2008
Octocat-spinner-32 help.c
Octocat-spinner-32 help.h
Octocat-spinner-32 hex.c slim down "git show-index" January 21, 2010
Octocat-spinner-32 http-backend.c
Octocat-spinner-32 http-fetch.c
Octocat-spinner-32 http-push.c
Octocat-spinner-32 http-walker.c
Octocat-spinner-32 http.c
Octocat-spinner-32 http.h
Octocat-spinner-32 ident.c
Octocat-spinner-32 imap-send.c
Octocat-spinner-32 levenshtein.c Fix typos / spelling in comments April 22, 2009
Octocat-spinner-32 levenshtein.h Typofixes outside documentation area February 03, 2010
Octocat-spinner-32 list-objects.c Merge branch 'lt/pack-object-memuse' April 18, 2009
Octocat-spinner-32 list-objects.h Merge branch 'lt/pack-object-memuse' April 18, 2009
Octocat-spinner-32 ll-merge.c
Octocat-spinner-32 ll-merge.h merge-recursive --patience August 26, 2010
Octocat-spinner-32 lockfile.c lockfile: show absolute filename in unable_to_lock_message January 12, 2010
Octocat-spinner-32 log-tree.c
Octocat-spinner-32 log-tree.h Allow customizable commit decorations colors June 24, 2010
Octocat-spinner-32 mailmap.c
Octocat-spinner-32 mailmap.h mailmap.c: remove unused function January 12, 2010
Octocat-spinner-32 match-trees.c Make "subtree" part more orthogonal to the rest of merge-recursive. January 17, 2010
Octocat-spinner-32 merge-file.c
Octocat-spinner-32 merge-recursive.c
Octocat-spinner-32 merge-recursive.h
Octocat-spinner-32 name-hash.c
Octocat-spinner-32 notes-cache.c
Octocat-spinner-32 notes-cache.h introduce notes-cache interface April 01, 2010
Octocat-spinner-32 notes-merge.c
Octocat-spinner-32 notes-merge.h
Octocat-spinner-32 notes.c
Octocat-spinner-32 notes.h
Octocat-spinner-32 object.c
Octocat-spinner-32 object.h
Octocat-spinner-32 pack-check.c
Octocat-spinner-32 pack-refs.c
Octocat-spinner-32 pack-refs.h Move pack_refs() and friends into libgit June 19, 2008
Octocat-spinner-32 pack-revindex.c janitor: useless checks before free July 22, 2009
Octocat-spinner-32 pack-revindex.h discard revindex data when pack list changes August 22, 2008
Octocat-spinner-32 pack-write.c move encode_in_pack_object_header() to a better place February 23, 2010
Octocat-spinner-32 pack.h Merge branch 'sp/maint-dumb-http-pack-reidx' into maint June 16, 2010
Octocat-spinner-32 pager.c Make 'git var GIT_PAGER' always print the configured pager February 14, 2010
Octocat-spinner-32 parse-options.c
Octocat-spinner-32 parse-options.h
Octocat-spinner-32 patch-delta.c Fix integer overflow in patch_delta() January 26, 2010
Octocat-spinner-32 patch-ids.c patch-ids: use the new generic "sha1_pos" function to lookup sha1 April 04, 2009
Octocat-spinner-32 patch-ids.h Refactor patch-id filtering out of git-cherry and git-format-patch. April 11, 2007
Octocat-spinner-32 path.c
Octocat-spinner-32 pkt-line.c pkt-line: Make packet_read_line easier to debug October 30, 2009
Octocat-spinner-32 pkt-line.h pkt-line: Add strbuf based functions October 30, 2009
Octocat-spinner-32 preload-index.c Make ce_uptodate() trustworthy again January 24, 2010
Octocat-spinner-32 pretty.c
Octocat-spinner-32 progress.c change throughput display units with fast links October 14, 2009
Octocat-spinner-32 progress.h nicer display of thin pack completion November 08, 2007
Octocat-spinner-32 quote.c quote.c: separate quoting and relative path generation June 05, 2010
Octocat-spinner-32 quote.h quote.c: separate quoting and relative path generation June 05, 2010
Octocat-spinner-32 reachable.c
Octocat-spinner-32 reachable.h Move traversal of reachable objects into a separate library. January 06, 2007
Octocat-spinner-32 read-cache.c
Octocat-spinner-32 reflog-walk.c Merge branch 'jk/maint-reflog-bottom' into maint December 14, 2010
Octocat-spinner-32 reflog-walk.h Introduce new pretty formats %g[sdD] for reflog information October 19, 2009
Octocat-spinner-32 refs.c
Octocat-spinner-32 refs.h
Octocat-spinner-32 remote-curl.c
Octocat-spinner-32 remote.c
Octocat-spinner-32 remote.h
Octocat-spinner-32 replace_object.c environment: add global variable to disable replacement May 31, 2009
Octocat-spinner-32 rerere.c
Octocat-spinner-32 rerere.h Merge branch 'jc/cache-unmerge' January 20, 2010
Octocat-spinner-32 resolve-undo.c Convert the users of for_each_string_list to for_each_string_list_ite… July 05, 2010
Octocat-spinner-32 resolve-undo.h build: make code "-Wpointer-arith" clean February 01, 2010
Octocat-spinner-32 revision.c
Octocat-spinner-32 revision.h
Octocat-spinner-32 run-command.c
Octocat-spinner-32 run-command.h
Octocat-spinner-32 send-pack.h push: pass --progress down to git-pack-objects October 18, 2010
Octocat-spinner-32 server-info.c update-server-info: Shorten read_pack_info_file() July 19, 2010
Octocat-spinner-32 setup.c
Octocat-spinner-32 sha1-lookup.c sha1-lookup: fix up the assertion message April 06, 2009
Octocat-spinner-32 sha1-lookup.h sha1-lookup: add new "sha1_pos" function to efficiently lookup sha1 April 04, 2009
Octocat-spinner-32 sha1_file.c
Octocat-spinner-32 sha1_name.c
Octocat-spinner-32 shallow.c object.h: Add OBJECT_ARRAY_INIT macro and make use of it. August 29, 2010
Octocat-spinner-32 shell.c
Octocat-spinner-32 shortlog.h pretty: Respect --abbrev option May 04, 2010
Octocat-spinner-32 show-index.c slim down "git show-index" January 21, 2010
Octocat-spinner-32 sideband.c Smart push over HTTP: client side November 04, 2009
Octocat-spinner-32 sideband.h recv_sideband: Bands #2 and #3 always go to stderr March 10, 2009
Octocat-spinner-32 sigchain.c refactor signal handling for cleanup functions January 21, 2009
Octocat-spinner-32 sigchain.h refactor signal handling for cleanup functions January 21, 2009
Octocat-spinner-32 strbuf.c
Octocat-spinner-32 strbuf.h
Octocat-spinner-32 string-list.c
Octocat-spinner-32 string-list.h
Octocat-spinner-32 submodule.c
Octocat-spinner-32 submodule.h
Octocat-spinner-32 symlinks.c
Octocat-spinner-32 tag.c
Octocat-spinner-32 tag.h
Octocat-spinner-32 tar.h tar-tree: Introduce write_entry() March 25, 2006
Octocat-spinner-32 test-chmtime.c Typofixes outside documentation area February 03, 2010
Octocat-spinner-32 test-ctype.c Add is_regex_special() January 17, 2009
Octocat-spinner-32 test-date.c test-date: fix sscanf type conversion July 06, 2010
Octocat-spinner-32 test-delta.c Nicolas Pitre has a new email address September 14, 2009
Octocat-spinner-32 test-dump-cache-tree.c add test-dump-cache-tree in Makefile February 03, 2009
Octocat-spinner-32 test-genrandom.c test-genrandom: ensure stdout is set to _O_BINARY on Windows September 21, 2009
Octocat-spinner-32 test-index-version.c Add test-index-version August 23, 2009
Octocat-spinner-32 test-line-buffer.c
Octocat-spinner-32 test-match-trees.c A new merge stragety 'subtree'. April 07, 2007
Octocat-spinner-32 test-obj-pool.c
Octocat-spinner-32 test-parse-options.c
Octocat-spinner-32 test-path-utils.c Introduce the function strip_path_suffix() February 19, 2009
Octocat-spinner-32 test-run-command.c start_command: detect execvp failures early January 10, 2010
Octocat-spinner-32 test-sha1.c Convert existing die(..., strerror(errno)) to die_errno() June 27, 2009
Octocat-spinner-32 more tr portability test script fixes March 13, 2008
Octocat-spinner-32 test-sigchain.c t0005: use SIGTERM for sigchain test January 30, 2009
Octocat-spinner-32 test-string-pool.c Add string-specific memory pool August 14, 2010
Octocat-spinner-32 test-subprocess.c
Octocat-spinner-32 test-svn-fe.c
Octocat-spinner-32 test-treap.c
Octocat-spinner-32 thread-utils.c Thread-safe xmalloc and xrealloc needs a recursive mutex April 08, 2010
Octocat-spinner-32 thread-utils.h thread-utils.h: simplify the inclusion December 10, 2010
Octocat-spinner-32 trace.c
Octocat-spinner-32 transport-helper.c
Octocat-spinner-32 transport.c
Octocat-spinner-32 transport.h
Octocat-spinner-32 tree-diff.c
Octocat-spinner-32 tree-walk.c
Octocat-spinner-32 tree-walk.h
Octocat-spinner-32 tree.c Fix off-by-one in read_tree_recursive April 20, 2009
Octocat-spinner-32 tree.h add context pointer to read_tree_recursive() July 15, 2008
Octocat-spinner-32 Makefile: allow building without perl April 08, 2009
Octocat-spinner-32 unpack-trees.c
Octocat-spinner-32 unpack-trees.h
Octocat-spinner-32 upload-pack.c
Octocat-spinner-32 url.c
Octocat-spinner-32 url.h
Octocat-spinner-32 usage.c
Octocat-spinner-32 userdiff.c
Octocat-spinner-32 userdiff.h
Octocat-spinner-32 utf8.c Merge branch 'rs/optim-text-wrap' into maint March 04, 2010
Octocat-spinner-32 utf8.h Merge branch 'rs/optim-text-wrap' into maint March 04, 2010
Octocat-spinner-32 walker.c
Octocat-spinner-32 walker.h http: init and cleanup separately from http-walker March 02, 2010
Octocat-spinner-32 wrap-for-bin: do not export an empty GIT_TEMPLATE_DIR March 02, 2010
Octocat-spinner-32 wrapper.c
Octocat-spinner-32 write_or_die.c Convert existing die(..., strerror(errno)) to die_errno() June 27, 2009
Octocat-spinner-32 ws.c
Octocat-spinner-32 wt-status.c
Octocat-spinner-32 wt-status.h
Octocat-spinner-32 xdiff-interface.c
Octocat-spinner-32 xdiff-interface.h Merge branch 'maint-1.7.0' into maint May 04, 2010
Octocat-spinner-32 zlib.c

	GIT - the stupid content tracker


"git" can mean anything, 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

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.
It was originally written by Linus Torvalds with help of a group of
hackers around the net. It is currently maintained by Junio C Hamano.

Please read the file INSTALL for installation instructions.

See Documentation/gittutorial.txt to get started, then see
Documentation/everyday.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

CVS users may also want to read Documentation/gitcvs-migration.txt
("man gitcvs-migration" or "git help cvs-migration" if git is

Many Git online resources are accessible from
including full documentation and Git related tools.

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 To subscribe
to the list, send an email with just "subscribe git" in the body to The mailing list archives are available at and other archival sites.

The messages titled "A note from the maintainer", "What's in
git.git (stable)" and "What's cooking in git.git (topics)" and
the discussion following them on the mailing list give a good
reference for project status, development direction and
remaining tasks.
Something went wrong with that request. Please try again.