Skip to content
A fork of Git containing Microsoft-specific patches.
C Shell Perl Tcl Python Makefile Other
Branch: vfs-2.24.0
Clone or download
Pull request Compare This branch is 150 commits ahead, 19 commits behind git-for-windows:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github
Documentation
block-sha1
builtin
ci
compat
contrib
ewah ewok_rlw.h: add missing 'inline' to function definition Oct 29, 2018
git-gui
gitk-git fixup! gitk: Escape file paths before piping to git log Nov 5, 2019
gitweb gitweb: correctly store previous rev in javascript-actions mode Oct 28, 2019
mergetools
negotiator Merge branch 'jt/fetch-negotiator-skipping' Aug 2, 2018
perl
po
ppc
refs
sha1collisiondetection @ 855827c sha1dc: update from upstream May 14, 2019
sha1dc
sha256 sha256: add an SHA-256 implementation using libgcrypt Nov 14, 2018
t
templates
trace2
vcs-svn
xdiff xdiffi: fix typos and touch up comments Oct 9, 2019
.clang-format
.editorconfig editorconfig: indicate settings should be kept in sync Oct 9, 2018
.gitattributes gitattributes: mark .png files as binary Nov 4, 2019
.gitignore
.gitmodules
.mailmap .mailmap: update email address of Andrey Mazo Sep 21, 2019
.travis.yml
.tsan-suppressions
BRANCHES.md
CODE_OF_CONDUCT.md
CONTRIBUTING.md CONTRIBUTING.md: add guide for first-time contributors Nov 4, 2019
COPYING
GIT-VERSION-GEN
INSTALL RelNotes: add details on Perl module changes Mar 16, 2018
LGPL-2.1
Makefile
README.md
RelNotes
SECURITY.md
abspath.c
aclocal.m4 configure: use AC_LANG_PROGRAM consistently Feb 14, 2011
add-interactive.c
add-interactive.h
add-patch.c
advice.c
advice.h
alias.c
alias.h headers: normalize the spelling of some header guards Oct 18, 2018
alloc.c
alloc.h
apply.c
apply.h
archive-tar.c
archive-zip.c
archive.c tree-walk.c: remove the_repo from get_tree_entry() Jun 27, 2019
archive.h Merge branch 'dl/no-extern-in-func-decl' May 13, 2019
argv-array.c Merge branch 'ma/unpack-trees-free-msgs' May 30, 2018
argv-array.h
attr.c
attr.h
azure-pipelines.yml
banned.h
base85.c base85.c: have SP around arithmetic operators Oct 16, 2013
bisect.c
bisect.h
blame.c
blame.h
blob.c
blob.h blob: allow lookup_blob to handle arbitrary repositories Jun 29, 2018
branch.c
branch.h
builtin.h
bulk-checkin.c bulk-checkin: zero-initialize hashfile_checkpoint Sep 6, 2019
bulk-checkin.h
bundle.c
bundle.h
cache-tree.c
cache-tree.h
cache.h
chdir-notify.c add chdir-notify API Mar 30, 2018
chdir-notify.h
check-builtins.sh
check_bindir
checkout.c
checkout.h
color.c color: protect against out-of-bounds reads and writes Aug 3, 2018
color.h range-diff: use dim/bold cues to improve dual color mode Aug 13, 2018
column.c
column.h
combine-diff.c combine-diff: replace GIT_SHA1_HEXSZ with the_hash_algo Aug 19, 2019
command-list.txt sparse-checkout: create builtin with 'list' subcommand Oct 23, 2019
commit-graph.c Merge branch 'ds/commit-graph-on-fetch' Nov 4, 2019
commit-graph.h
commit-reach.c
commit-reach.h Merge branch 'sb/more-repo-in-api' Feb 5, 2019
commit-slab-decl.h commit-slab: support shared commit-slab May 21, 2018
commit-slab-impl.h
commit-slab.h
commit.c
commit.h
common-main.c
config.c
config.h
config.mak.dev Makefile: allow for combining DEVELOPER=1 and CFLAGS="..." Feb 24, 2019
config.mak.in
config.mak.uname
configure.ac configure: Detect linking style for HP aCC on HP-UX Jun 7, 2019
connect.c mingw: support UNC in git clone file://server/share/repo Aug 26, 2019
connect.h
connected.c
connected.h clone: do faster object check for partial clones Apr 21, 2019
convert.c
convert.h
copy.c
credential-cache--daemon.c
credential-cache.c
credential-store.c
credential.c
credential.h
csum-file.c
csum-file.h
ctype.c
daemon.c
date.c
decorate.c
decorate.h *.[ch]: remove extern from function declarations using spatch May 5, 2019
delta-islands.c
delta-islands.h
delta.h *.[ch]: manually align parameter lists May 5, 2019
detect-compiler
diff-delta.c
diff-lib.c
diff-no-index.c
diff.c
diff.h diff: export diffstat interface Nov 4, 2019
diffcore-break.c
diffcore-delta.c
diffcore-order.c wildmatch: remove unused wildopts parameter Jun 24, 2017
diffcore-pickaxe.c
diffcore-rename.c diffcore-rename: speed up register_rename_src Nov 4, 2019
diffcore.h
dir-iterator.c
dir-iterator.h
dir.c
dir.h
editor.c
entry.c
environment.c
exec-cmd.c
exec-cmd.h
fast-import.c
fetch-negotiator.c
fetch-negotiator.h
fetch-pack.c commit: add generation to pop_most_recent_commit() Nov 4, 2019
fetch-pack.h
fmt-merge-msg.h
fsck.c
fsck.h
fsmonitor.c fsmonitor: check CE_FSMONITOR_VALID in ce_uptodate Nov 21, 2019
fsmonitor.h mark_fsmonitor_valid(): mark the index as changed if needed Jun 7, 2019
fuzz-commit-graph.c
fuzz-pack-headers.c
fuzz-pack-idx.c fuzz: add fuzz testing for packfile indices. Oct 15, 2018
generate-cmdlist.sh help -a: do not list commands that are excluded from the build Apr 19, 2019
gettext.c
gettext.h
git-add--interactive.perl Allow `add -p` and `add -i` with a large number of files Nov 4, 2019
git-archimport.perl
git-bisect.sh bisect--helper: `bisect_start` shell function partially in C Jan 2, 2019
git-compat-util.h
git-cvsexportcommit.perl
git-cvsimport.perl
git-cvsserver.perl
git-difftool--helper.sh
git-filter-branch.sh
git-instaweb.sh
git-legacy-stash.sh
git-merge-octopus.sh
git-merge-one-file.sh
git-merge-resolve.sh merge-resolve: avoid dashed call Aug 26, 2017
git-mergetool--lib.sh Merge branch 'dl/difftool-mergetool' May 19, 2019
git-mergetool.sh
git-p4.py git-p4: auto-delete named temporary file Oct 6, 2019
git-parse-remote.sh
git-quiltimport.sh git-quiltimport: add --keep-non-patch option Jan 7, 2019
git-rebase--preserve-merges.sh
git-request-pull.sh
git-send-email.perl Merge branch 'ab/send-email-transferencoding-fix' Jun 13, 2019
git-sh-i18n.sh
git-sh-setup.sh
git-submodule.sh
git-svn.perl
git-web--browse.sh
git.c
git.rc
gpg-interface.c
gpg-interface.h
graph.c Merge branch 'np/log-graph-octopus-fix' into maint Nov 21, 2018
graph.h
grep.c
grep.h
gvfs-helper-client.c gvfs-helper: expose gvfs/objects GET and POST semantics Nov 6, 2019
gvfs-helper-client.h
gvfs-helper.c
gvfs.c gvfs: refactor loading the core.gvfs config value Nov 4, 2019
gvfs.h gvfs: block unsupported commands when running in a GVFS repo Nov 4, 2019
hash.h
hashmap.c hashmap: remove type arg from hashmap_{get,put,remove}_entry Oct 7, 2019
hashmap.h hashmap_entry: remove first member requirement from docs Oct 7, 2019
help.c Merge branch 'rs/help-unknown-ref-does-not-return' Sep 30, 2019
help.h help: make help_unknown_ref() NORETURN Aug 30, 2019
hex.c hex: introduce functions to print arbitrary hashes Nov 14, 2018
http-backend.c
http-fetch.c
http-push.c http-push: simplify deleting a list item Oct 15, 2019
http-walker.c Merge branch 'bc/hash-transition-16' Apr 25, 2019
http.c
http.h
ident.c
imap-send.c
interdiff.c
interdiff.h interdiff: teach show_interdiff() to indent interdiff Jul 23, 2018
iterator.h refs: introduce an iterator interface Jun 20, 2016
json-writer.c
json-writer.h json-writer.h: add missing include (hdr-check) Sep 20, 2018
khash.h
kwset.c
kwset.h
levenshtein.c
levenshtein.h
line-log.c
line-log.h
line-range.c
line-range.h line-range.c: remove implicit dependency on the_index Sep 21, 2018
linear-assignment.c
linear-assignment.h
list-objects-filter-options.c
list-objects-filter-options.h
list-objects-filter.c Merge branch 'jk/partial-clone-sparse-blob' Oct 7, 2019
list-objects-filter.h
list-objects.c
list-objects.h
list.h
ll-merge.c am: reload .gitattributes after patching it Sep 3, 2019
ll-merge.h am: reload .gitattributes after patching it Sep 3, 2019
lockfile.c
lockfile.h
log-tree.c
log-tree.h
ls-refs.c upload-pack: strip namespace from symref data May 28, 2019
ls-refs.h
mailinfo.c mailinfo: support format=flowed Aug 29, 2018
mailinfo.h
mailmap.c
mailmap.h
match-trees.c
mem-pool.c
mem-pool.h
merge-blobs.c
merge-blobs.h *.[ch]: manually align parameter lists May 5, 2019
merge-recursive.c
merge-recursive.h merge-recursive: rename MERGE_RECURSIVE_* to MERGE_VARIANT_* Aug 19, 2019
merge.c
mergesort.c
mergesort.h
midx.c
midx.h
name-hash.c
notes-cache.c notes-cache.c: remove the_repository references Nov 12, 2018
notes-cache.h
notes-merge.c
notes-merge.h
notes-utils.c
notes-utils.h
notes.c
notes.h
object-store.h sha1-file: add function to update existing loose object cache Nov 4, 2019
object.c
object.h commit-graph: fix writing first commit-graph during fetch Oct 25, 2019
oidmap.c
oidmap.h hashmap: use *_entry APIs for iteration Oct 7, 2019
oidset.c Merge branch 'br/blame-ignore' Jul 19, 2019
oidset.h
pack-bitmap-write.c
pack-bitmap.c Merge branch 'jk/misc-uninitialized-fixes' Sep 30, 2019
pack-bitmap.h
pack-check.c
pack-objects.c pack-objects: drop packlist index_pos optimization Sep 6, 2019
pack-objects.h
pack-revindex.c
pack-revindex.h
pack-write.c
pack.h *.[ch]: manually align parameter lists May 5, 2019
packfile.c
packfile.h
pager.c
parse-options-cb.c
parse-options.c parse-options: allow --end-of-options as a synonym for "--" Aug 6, 2019
parse-options.h
patch-delta.c patch-delta: handle truncated copy parameters Aug 30, 2018
patch-ids.c hashmap: remove type arg from hashmap_{get,put,remove}_entry Oct 7, 2019
patch-ids.h
path.c
path.h
pathspec.c Merge branch 'nd/the-index-final' Feb 7, 2019
pathspec.h dir.c: move, rename and export match_attrs() Nov 19, 2018
pkt-line.c
pkt-line.h
preload-index.c
pretty.c
pretty.h
prio-queue.c
prio-queue.h
progress.c
progress.h
promisor-remote.c
promisor-remote.h
prompt.c
prompt.h
protocol.c
protocol.h
quote.c
quote.h
range-diff.c
range-diff.h
reachable.c
reachable.h
read-cache.c
rebase-interactive.c
rebase-interactive.h
ref-filter.c
ref-filter.h
reflog-walk.c
reflog-walk.h *.[ch]: manually align parameter lists May 5, 2019
refs.c
refs.h
refspec.c refspec: make hash size independent Apr 1, 2019
refspec.h
remote-curl.c
remote-testsvn.c
remote.c Trace2:gvfs:experiment: capture more 'tracking' details Nov 4, 2019
remote.h
replace-object.c Merge branch 'ds/commit-graph-with-grafts' into maint Nov 21, 2018
replace-object.h
repo-settings.c Merge branch 'ds/feature-macros' Oct 24, 2019
repository.c Merge branch 'ma/clear-repository-format' Mar 20, 2019
repository.h
rerere.c
rerere.h
resolve-undo.c resolve-undo.c: use the right index instead of the_index Aug 13, 2018
resolve-undo.h
revision.c
revision.h Merge branch 'en/combined-all-paths' Mar 7, 2019
run-command.c
run-command.h
send-pack.c
send-pack.h
sequencer.c
sequencer.h Merge branch 'js/rebase-r-strategy' Sep 18, 2019
serve.c pack-protocol.txt: accept error packets in any context Jan 2, 2019
serve.h
server-info.c
setup.c
sh-i18n--envsubst.c
sha1-array.c
sha1-array.h
sha1-file.c
sha1-lookup.c
sha1-lookup.h
sha1-name.c
sha1dc_git.c
sha1dc_git.h
shallow.c
shell.c
shortlog.h Add missing includes and forward declarations Aug 15, 2018
sideband.c Merge branch 'jt/fetch-v2-sideband' Feb 5, 2019
sideband.h {fetch,upload}-pack: sideband v2 fetch response Jan 17, 2019
sigchain.c Replace all die("BUG: ...") calls by BUG() ones May 6, 2018
sigchain.h
split-index.c
split-index.h
stable-qsort.c Move git_sort(), a stable sort, into into libgit.a Oct 2, 2019
strbuf.c
strbuf.h Merge branch 'md/list-objects-filter-combo' Sep 18, 2019
streaming.c
streaming.h *.[ch]: remove extern from function declarations using spatch May 5, 2019
string-list.c
string-list.h
sub-process.c sub-process: add subprocess_start_argv() Nov 4, 2019
sub-process.h
submodule-config.c
submodule-config.h *.[ch]: manually align parameter lists May 5, 2019
submodule.c
submodule.h
symlinks.c Indent code with TABs Dec 9, 2018
tag.c
tag.h
tar.h tar-tree: Introduce write_entry() Mar 26, 2006
tempfile.c
tempfile.h
thread-utils.c thread-utils: macros to unconditionally compile pthreads API Oct 29, 2018
thread-utils.h
tmp-objdir.c
tmp-objdir.h
trace.c
trace.h
trace2.c Merge branch 'jh/trace2' May 13, 2019
trace2.h trace2: rename environment variables to GIT_TRACE2* May 28, 2019
trailer.c
trailer.h pretty: add support for separator option in %(trailers) Jan 29, 2019
transport-helper.c
transport-internal.h
transport.c
transport.h remote-curl: pass on atomic capability to remote side Oct 17, 2019
tree-diff.c
tree-walk.c
tree-walk.h Merge branch 'jk/tree-walk-overflow' Aug 22, 2019
tree.c
tree.h
unicode-width.h Merge branch 'bb/unicode-12.1-reiwa' into maint Jul 25, 2019
unimplemented.sh unimplemented.sh: use the $( ... ) construct for command substitution Dec 27, 2015
unix-socket.c
unix-socket.h
unpack-trees.c
unpack-trees.h
upload-pack.c
upload-pack.h
url.c list-objects-filter: implement composite filters Jun 28, 2019
url.h
urlmatch.c
urlmatch.h
usage.c
userdiff.c
userdiff.h
utf8.c
utf8.h *.[ch]: remove extern from function declarations using spatch May 5, 2019
varint.c
varint.h
version.c
version.h
versioncmp.c
virtualfilesystem.c trace2:gvfs:experiment: add region to apply_virtualfilesystem() Nov 4, 2019
virtualfilesystem.h Add virtual file system settings and hook proc Nov 4, 2019
walker.c
walker.h
wildmatch.c
wildmatch.h wildmatch: change behavior of "foo**bar" in WM_PATHNAME mode Oct 29, 2018
worktree.c
worktree.h
wrap-for-bin.sh
wrapper.c Merge branch 'ah/cleanups' Oct 9, 2019
write-or-die.c write_or_die.c: rename to use dashes in file name Apr 11, 2018
ws.c
wt-status-deserialize.c
wt-status-serialize.c
wt-status.c status: serialize to path Nov 4, 2019
wt-status.h
xdiff-interface.c
xdiff-interface.h
zlib.c Replace all die("BUG: ...") calls by BUG() ones May 6, 2018

README.md

Git for Windows

Build Status (Windows/macOS/Linux) Build Status (core.autocrlf=true) Join the chat at https://gitter.im/git-for-windows/git

This is Git for Windows, the Windows port of Git.

The Git for Windows project is run using a governance model. If you encounter problems, you can report them as GitHub issues, discuss them on Git for Windows' Google Group, and contribute bug fixes.

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 core 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 https://public-inbox.org/git/, http://marc.info/?l=git and other archival sites. The core git mailing list is plain text (no HTML!).

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
You can’t perform that action at this time.