1
0
Fork 0
mirror of https://github.com/git-for-windows/git.git synced 2026-07-25 17:08:00 +00:00
Mirror of git-for-windows/git for key.store Windows runner toolcache artifacts.
  • C 50.2%
  • Shell 39.3%
  • Perl 4.3%
  • Tcl 3%
  • Python 0.8%
  • Other 2.1%
Find a file
Johannes Schindelin 053e0828c7 Git for Windows v2.55.0(3)
Changes since Git for Windows v2.55.0(2) (July 2nd 2026):
 
 New Features
 
   * Comes with Git Credential Manager v2.9.0.
 
 Bug Fixes
 
   * Fixes heap overflows in the credential helper wincred, see
     GHSA-rxqw-wxqg-g7hw for full details.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEkYg+Eeg9wp0UEE207dRDWQkwVu4FAmpRB8sACgkQ7dRDWQkw
 Vu7hZA//YmAgbeRhGaJjWWMsxD1i/964k6e7T4MgjtMp/GxaH1H+PTtxYd39KJAP
 N4qOhVIFANvp2/EFAAjDV+sN/m9EOVWuv2H/LfulxKj0RtijCQDDIbJXVmXcKfv/
 4kOObNpXKQlLbpeJ8E1jP/kbeHo3BEjn1WQstdyKAof0RV7RSH6uVxihOKT/9y8V
 1Ng1q7YpzcKHu+bxXkmyFgkDW06tgnfouZ9AU3VxLsuK1LKCj9QfN5ZXMAgA2vPM
 rlao/wXMBN/9woqKfDibea90hSWm5Xs1e8iYmES50s5kIPM0B6Hy2SVVBxTTjGKr
 8ZulzXTQU9RxcakxKibvFXxYX71hvB7ZLrbY5hurU4ZzV2THOfoZG268ub0L85Kq
 VRvrKh8O9UJXKckaGYW4exEX9xBya5yUJZLhfB7/vWv5zIDo6zfZN7zZE5GFRKQG
 DmcwS8bH+zL2OwNeYqoDeJf6gWolREPS4kcx5P+bLW63lwDHBF6w9yZsQ+xIBTw+
 fPWKWQk+Ka2ro4KjPo9QiEHaOE+r5dAMQZvOjihGtAR/FUo8ntjP+oc8+rnDB1hE
 nL3zuHevDRZgcA50Vyeb2hCFSWjWApdX+H0HrweEc7NBfC/GUUyY2eKnBpsevJoU
 7Cwfo5ThZ1+0OGQeAhonM5EWNGhpWU5Up3/lUjhc4SaREX1/gW0=
 =1+Xw
 -----END PGP SIGNATURE-----

Merge tag 'v2.55.0.windows.3'

Git for Windows v2.55.0(3)

Changes since Git for Windows v2.55.0(2) (July 2nd 2026):

New Features

  * Comes with Git Credential Manager v2.9.0.

Bug Fixes

  * Fixes heap overflows in the credential helper wincred, see
    GHSA-rxqw-wxqg-g7hw for full details.
2026-07-16 14:38:19 +02:00
.github build(deps): bump actions/cache from 5 to 6 2026-06-29 20:32:59 +00:00
bin-wrappers
block-sha1
builtin survey: turn into a thin shim over git repo structure 2026-07-05 18:03:20 +02:00
ci ci: only run the expensive tests in the Windows tests for now 2026-06-29 19:07:06 +02:00
compat fixup! run-command: be helpful with Git LFS fails on Windows 7 2026-07-14 10:44:49 +02:00
compiler-tricks intialize false_but_the_compiler_does_not_know_it_ 2025-05-07 09:11:47 -07:00
contrib wincred: prevent silent credential loss when storing OAuth tokens 2026-07-10 16:32:48 +02:00
Documentation survey: turn into a thin shim over git repo structure 2026-07-05 18:03:20 +02:00
ewah cocci: extend MEMZERO_ARRAY() rules 2026-02-03 09:41:52 -08:00
git-gui git-gui--askyesno (mingw): use Git for Windows' icon, if available 2026-06-29 19:06:58 +02:00
gitk-git Merge branch 'master' of https://github.com/j6t/gitk 2026-06-12 05:41:00 -07:00
gitweb gitweb: let page header grow on mobile for long wrapped project names 2026-02-17 11:49:13 -08:00
mergetools doc: update references to renamed AsciiDoc files 2025-06-06 15:05:47 -07:00
negotiator Merge branch 'ds/fetch-negotiation-options' 2026-05-27 14:15:45 +09:00
odb fixup! object-file.c: use size_t for header lengths 2026-07-02 13:04:30 +02:00
oss-fuzz odb, packfile: use size_t for streaming object sizes 2026-05-09 11:25:31 +09:00
perl contrib: better support symbolic port names in git-credential-netrc 2025-06-25 09:43:59 -07:00
po Merge branch '2.55-uk-pr' of github.com:arkid15r/git-ukrainian-l10n 2026-06-28 19:25:08 +08:00
refs Merge pull request #1897 from piscisaureus/symlink-attr 2026-06-29 19:06:54 +02:00
reftable doc: fix typos via codespell 2026-06-08 00:21:35 +09:00
sha1
sha1collisiondetection@855827c583
sha1dc
sha256
src Enable Rust by default 2026-04-09 17:25:36 -07:00
subprojects meson: wire up gitk and git-gui 2026-02-04 09:42:50 -08:00
t survey: turn into a thin shim over git repo structure 2026-07-05 18:03:20 +02:00
templates Merge branch 'pt/fsmonitor-watchman-sample-fix' 2026-03-10 14:23:23 -07:00
tools Merge branch 'rs/strbuf-add-oid-hex' 2026-06-09 10:04:50 +09:00
trace2 trace2: do not use strbuf_split*() 2025-08-02 22:44:58 -07:00
xdiff Merge branch 'mm/diff-U-takes-no-negative-values' 2026-05-25 09:40:07 +09:00
.cirrus.yml ci: update FreeBSD image to 14.3 2025-07-01 07:46:22 -07:00
.clang-format clang-format: exclude control macros from SpaceBeforeParens 2025-09-28 08:37:23 -07:00
.editorconfig editorconfig: fix style not applying to subdirs anymore 2026-03-11 10:30:51 -07:00
.gitattributes Add an AGENTS.md file to help with AI-assisted debugging/development 2026-06-29 19:07:05 +02:00
.gitignore Add experimental 'git survey' builtin (#5174) 2026-06-29 19:06:49 +02:00
.gitlab-ci.yml Merge branch 'ps/gitlab-ci-windows' 2026-06-22 20:05:03 -07:00
.gitmodules
.mailmap .mailmap: update email address for Tian Yuchen 2026-03-09 12:46:34 -07:00
.tsan-suppressions transport-helper: fix TSAN race in transfer_debug() 2026-06-09 14:05:42 -07:00
abspath.c strbuf_realpath(): use platform-dependent API if available 2026-06-29 19:06:11 +02:00
abspath.h
aclocal.m4
add-interactive.c add-patch: allow disabling editing of hunks 2026-03-03 15:09:36 -08:00
add-interactive.h add-patch: split out struct interactive_options 2026-03-03 15:09:35 -08:00
add-patch.c Merge branch 'sp/add-patch-with-fewer-the-repository' 2026-04-07 14:59:26 -07:00
add-patch.h add-patch: allow disabling editing of hunks 2026-03-03 15:09:36 -08:00
advice.c Merge branch 'deprecate-core.useBuiltinFSMonitor' 2026-06-29 19:07:08 +02:00
advice.h Merge branch 'deprecate-core.useBuiltinFSMonitor' 2026-06-29 19:07:08 +02:00
AGENTS.md Add an AGENTS.md file to help with AI-assisted debugging/development 2026-06-29 19:07:05 +02:00
alias.c alias: restore support for simple dotted aliases 2026-04-25 19:22:52 +09:00
alias.h
alloc.c alloc: fix dangling pointer in alloc_state cleanup 2025-09-04 15:24:16 -07:00
alloc.h alloc: fix dangling pointer in alloc_state cleanup 2025-09-04 15:24:16 -07:00
apply.c Introduce helper to create symlinks that knows about index_state 2026-06-29 19:06:24 +02:00
apply.h apply: report input location in header parsing errors 2026-03-17 11:08:24 -07:00
ARCHITECTURE.md Describe Git for Windows' architecture 2026-06-29 19:07:05 +02:00
archive-tar.c streaming: drop redundant type and size pointers 2025-11-23 12:56:46 -08:00
archive-zip.c archive-zip: widen zlib_deflate_raw()'s maxsize local to size_t 2026-06-29 19:06:26 +02:00
archive.c odb: use size_t for object_info.sizep and the size APIs 2026-06-15 07:45:41 -07:00
archive.h
attr.c read-cache: stop truncating index blob sizes on Windows 2026-06-29 19:06:26 +02:00
attr.h
banned.h banned.h: ban mktemp(3) 2025-12-07 07:28:13 +09:00
base85.c
base85.h
bisect.c odb: use size_t for object_info.sizep and the size APIs 2026-06-15 07:45:41 -07:00
bisect.h rev-list: make "struct rev_list_info" static to the only user 2025-07-21 15:40:46 -07:00
blame.c blame: widen struct blame_scoreboard.final_buf_size to size_t 2026-06-29 19:06:33 +02:00
blame.h blame: widen struct blame_scoreboard.final_buf_size to size_t 2026-06-29 19:06:33 +02:00
blob.c
blob.h
bloom.c Merge branch 'cf/constness-fixes' 2026-03-23 09:20:29 -07:00
bloom.h bloom: replace struct bloom_key * with struct bloom_keyvec 2025-07-14 10:03:03 -07:00
branch.c branch: advice using git-help(1) instead of man(1) 2025-12-03 00:16:05 -08:00
branch.h environment: move "branch.autoSetupMerge" into struct repo_config_values 2026-02-26 07:22:53 -08:00
build.rs rust: add a build.rs script for tests 2026-02-07 17:41:03 -08:00
builtin.h survey: stub in new experimental 'git-survey' command 2026-06-29 19:06:21 +02:00
bundle-uri.c bundle-uri: validate that bundle entries have a uri 2025-12-20 14:45:27 +09:00
bundle-uri.h
bundle.c odb: use size_t for object_info.sizep and the size APIs 2026-06-15 07:45:41 -07:00
bundle.h
cache-tree.c Merge branch 'jt/odb-transaction-write' 2026-05-27 14:15:45 +09:00
cache-tree.h cache-tree: allow writing in-memory index as tree 2026-03-03 15:09:36 -08:00
Cargo.toml ci: verify minimum supported Rust version 2025-10-15 08:10:17 -07:00
cbtree.c cbtree: allow using arbitrary wrapper structures for nodes 2026-05-15 04:50:45 +09:00
cbtree.h cbtree: allow using arbitrary wrapper structures for nodes 2026-05-15 04:50:45 +09:00
chdir-notify.c chdir-notify: add function to unregister listeners 2025-11-25 12:16:00 -08:00
chdir-notify.h chdir-notify: add function to unregister listeners 2025-11-25 12:16:00 -08:00
checkout.c config: drop git_config_get_string() wrapper 2025-07-23 08:15:19 -07:00
checkout.h
chunk-format.c
chunk-format.h
CODE_OF_CONDUCT.md Modify the Code of Conduct for Git for Windows 2026-06-29 19:07:05 +02:00
color.c color: add color_parse_quietly() 2026-02-23 13:23:41 -08:00
color.h color: add color_parse_quietly() 2026-02-23 13:23:41 -08:00
column.c
column.h
combine-diff.c combine-diff: stop truncating combined-diff blob sizes on Windows 2026-06-29 19:06:26 +02:00
command-list.txt survey: stub in new experimental 'git-survey' command 2026-06-29 19:06:21 +02:00
commit-graph.c Merge branch 'en/commit-graph-timestamp-fix' 2026-06-17 11:10:12 -07:00
commit-graph.h doc: fix typos via codespell 2026-06-08 00:21:35 +09:00
commit-reach.c Merge branch 'kk/commit-reach-optim' 2026-06-07 23:58:25 +09:00
commit-reach.h commit-reach: early exit paint_down_to_common for single merge-base 2026-05-12 09:33:43 +09:00
commit-slab-decl.h
commit-slab-impl.h
commit-slab.h
commit.c commit: widen the commit-buffer API to size_t 2026-06-29 19:06:27 +02:00
commit.h commit: widen the commit-buffer API to size_t 2026-06-29 19:06:27 +02:00
common-exit.c common-main.c: fflush stdout buffer upon exit 2026-06-29 19:06:20 +02:00
common-init.c
common-init.h
common-main.c
config.c Merge branch 'js/objects-larger-than-4gb-on-windows-more' 2026-06-21 16:41:38 -07:00
config.h Merge branch 'hn/config-typo-advice' 2026-06-15 07:41:59 -07:00
config.mak.dev build: tolerate use of _Generic from glibc 2.43 with Clang 2026-06-11 09:37:04 +02:00
config.mak.in
config.mak.uname mingw: add a cache below mingw's lstat and dirent implementations 2026-06-29 19:06:58 +02:00
configure.ac Merge branch 'rj/freebsd-sysinfo-build-fix' 2025-07-14 11:19:28 -07:00
connect.c Merge branch 'jk/connect-service-enum' 2026-06-02 16:15:28 +09:00
connect.h Merge branch 'jk/connect-service-enum' 2026-06-02 16:15:28 +09:00
connected.c Merge branch 'ed/check-connected-close-err-fd-2.53' 2026-05-31 10:00:36 +09:00
connected.h
CONTRIBUTING.md CONTRIBUTING.md: add guide for first-time contributors 2026-06-29 19:07:05 +02:00
convert.c read-cache: stop truncating index blob sizes on Windows 2026-06-29 19:06:26 +02:00
convert.h
copy.c path: adjust last remaining users of the_repository 2025-02-28 13:54:11 -08:00
copy.h
COPYING
credential.c credential: advertise NTLM suppression and allow helpers to re-enable 2026-06-29 19:06:22 +02:00
credential.h credential: advertise NTLM suppression and allow helpers to re-enable 2026-06-29 19:06:22 +02:00
csum-file.c index-pack, unpack-objects: increase input buffer from 4 KiB to 128 KiB 2026-04-29 21:44:03 +09:00
csum-file.h docs: fix typos and grammar 2026-05-30 07:07:27 +09:00
ctype.c
daemon.c Merge branch 'st/daemon-sockaddr-fixes' 2026-06-11 04:31:17 -07:00
date.c docs: fix typos 2026-06-05 22:27:24 +09:00
date.h
decorate.c decorate: fix sign comparison warnings 2025-03-10 13:21:13 -07:00
decorate.h
delta-islands.c docs: fix typos and grammar 2026-05-30 07:07:27 +09:00
delta-islands.h delta-islands: stop depending on the_repository 2025-03-10 13:16:20 -07:00
delta.h Merge branch 'size-t/diff-delta-sizeof' 2026-06-29 19:06:30 +02:00
diagnose.c odb: get rid of the_repository in for_each() functions 2025-07-01 14:46:36 -07:00
diagnose.h
diff-delta.c Merge branch 'size-t/diff-delta-sizeof' 2026-06-29 19:06:30 +02:00
diff-lib.c Merge branch 'ps/commit-list-functions-renamed' 2026-02-13 13:39:25 -08:00
diff-merges.c
diff-merges.h
diff-no-index.c diff --no-index: fix logic for paths ending in '/' 2025-10-16 15:21:06 +02:00
diff.c diffcore: widen struct diff_filespec.size to size_t 2026-06-29 19:06:27 +02:00
diff.h diff: widen textconv_object() size out-param to size_t 2026-06-29 19:06:27 +02:00
diffcore-break.c Merge branch 'en/merge-ort-almost-wo-the-repository' 2026-03-04 10:53:02 -08:00
diffcore-delta.c cocci: extend MEMZERO_ARRAY() rules 2026-02-03 09:41:52 -08:00
diffcore-order.c
diffcore-pickaxe.c docs: fix typos and grammar 2026-05-30 07:07:27 +09:00
diffcore-rename.c merge,diff: remove the_repository check before prefetching blobs 2026-02-21 18:34:06 -08:00
diffcore-rotate.c
diffcore.h diffcore: widen struct diff_filespec.size to size_t 2026-06-29 19:06:27 +02:00
dir-iterator.c refs/iterator: separate lifecycle from iteration 2025-03-12 11:31:18 -07:00
dir-iterator.h refs/iterator: separate lifecycle from iteration 2025-03-12 11:31:18 -07:00
dir.c dir.c: regression fix for add_excludes with fscache 2026-06-29 19:06:59 +02:00
dir.h ignore: note info/exclude lives in GIT_COMMON_DIR, not GIT_DIR 2026-05-13 10:25:52 +09:00
editor.c Partially un-revert "editor: save and reset terminal after calling EDITOR" 2026-06-29 19:07:04 +02:00
editor.h
entry.c checkout.c: enable fscache for checkout again 2026-06-29 19:06:59 +02:00
entry.h
environment.c environment: move "warn_on_object_refname_ambiguity" into struct repo_config_values 2026-06-03 08:36:48 +09:00
environment.h Merge branch 'ob/more-repo-config-values' 2026-06-15 07:42:00 -07:00
exec-cmd.c
exec-cmd.h
fetch-negotiator.c
fetch-negotiator.h negotiator: add have_sent() interface 2026-05-20 11:33:24 +09:00
fetch-pack.c fscache: fscache takes an initial size 2026-06-29 19:07:00 +02:00
fetch-pack.h fetch: add --negotiation-include option for negotiation 2026-05-20 11:33:24 +09:00
fmt-merge-msg.c odb: use size_t for object_info.sizep and the size APIs 2026-06-15 07:45:41 -07:00
fmt-merge-msg.h environment: remove the global variable 'merge_log_config' 2025-08-11 09:16:55 -07:00
for-each-ref.h Merge branch 'ja/doc-lint-sections-and-synopsis' 2025-08-25 14:22:02 -07:00
fsck.c odb: use size_t for object_info.sizep and the size APIs 2026-06-15 07:45:41 -07:00
fsck.h fsck: store repository in fsck options 2026-03-23 08:33:10 -07:00
fsmonitor--daemon.h
fsmonitor-ipc.c fsmonitor: close inherited file descriptors and detach in daemon 2026-04-15 08:44:33 -07:00
fsmonitor-ipc.h
fsmonitor-ll.h
fsmonitor-path-utils.h
fsmonitor-settings.c fsmonitor: reintroduce core.useBuiltinFSMonitor 2026-06-29 19:07:05 +02:00
fsmonitor-settings.h
fsmonitor.c config: drop git_config_get_int() wrapper 2025-07-23 08:15:20 -07:00
fsmonitor.h
gettext.c
gettext.h
git-archimport.perl
GIT-BUILD-OPTIONS.in
git-compat-util.h fixup! run-command: be helpful with Git LFS fails on Windows 7 2026-07-14 10:44:49 +02:00
git-curl-compat.h http: optionally send SSL client certificate 2026-06-29 19:06:13 +02:00
git-cvsexportcommit.perl
git-cvsimport.perl
git-cvsserver.perl cvsserver: remove unused escapeRefName function 2025-05-27 08:25:08 -07:00
git-difftool--helper.sh
git-filter-branch.sh filter-branch: stop depending on Perl 2025-04-16 07:30:29 -07:00
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: stop depending on Perl 2025-04-16 07:30:29 -07:00
git-send-email.perl Merge branch 'sp/send-email-validate-charset' 2026-03-12 10:56:05 -07:00
git-sh-i18n.sh
git-sh-setup.sh mingw: only use Bash-ism builtin pwd -W when available 2026-06-29 19:07:04 +02:00
git-submodule.sh
git-svn.perl fixup! git-svn: mark it as unsupported by the Git for Windows project 2026-03-24 14:45:25 +01:00
GIT-VERSION-FILE.in
GIT-VERSION-GEN Git 2.55 2026-06-29 07:58:39 -07:00
git-web--browse.sh
git-zlib.c git-zlib: widen git_deflate_bound() to size_t 2026-06-29 19:06:26 +02:00
git-zlib.h git-zlib: widen git_deflate_bound() to size_t 2026-06-29 19:06:26 +02:00
git.c survey: stub in new experimental 'git-survey' command 2026-06-29 19:06:21 +02:00
git.rc.in ARM64: Embed manifest properly (#4718) 2026-06-29 19:06:46 +02:00
gpg-interface.c fast-import: add 'abort-if-invalid' mode to '--signed-commits=<mode>' 2026-03-26 12:42:57 -07:00
gpg-interface.h fast-import: add 'abort-if-invalid' mode to '--signed-commits=<mode>' 2026-03-26 12:42:57 -07:00
graph.c graph: add truncation mark to capped lanes 2026-03-29 21:22:09 -07:00
graph.h
grep.c Merge branch 'size-t/grep' 2026-06-29 19:06:31 +02:00
grep.h grep: widen struct grep_source.size and grep_buffer() to size_t 2026-06-29 19:06:28 +02:00
hash-lookup.c
hash-lookup.h
hash.c object-name: simplify computing common prefixes 2026-03-20 13:16:42 -07:00
hash.h object-name: simplify computing common prefixes 2026-03-20 13:16:42 -07:00
hashmap.c git-compat-util: introduce MEMZERO_ARRAY() macro 2025-12-11 14:44:43 +09:00
hashmap.h
help.c Merge branch 'jh/alias-i18n-fixes' into maint-2.54 2026-05-21 12:30:11 +09:00
help.h
hex-ll.c
hex-ll.h
hex.c hex: add and use strbuf_add_oid_hex() 2026-05-14 15:59:25 +09:00
hex.h hex: add and use strbuf_add_oid_hex() 2026-05-14 15:59:25 +09:00
hook.c hook: allow hook.jobs=-1 to use all available CPU cores 2026-04-10 07:58:55 -07:00
hook.h Merge branch 'ak/typofixes' 2026-06-15 07:42:00 -07:00
http-backend.c setup: stop using the_repository in enter_repo() 2026-05-19 19:36:24 +09:00
http-fetch.c setup: stop using the_repository in setup_git_directory_gently() 2026-05-19 19:36:24 +09:00
http-push.c http-push: widen start_put()'s size local from ssize_t to size_t 2026-06-29 19:06:26 +02:00
http-walker.c Merge branch 'ps/odb-source-loose' 2026-06-11 04:31:18 -07:00
http.c Merge branch 'disallow-ntlm-auth-by-default' 2026-06-29 19:06:51 +02:00
http.h http: extract http_reauth_prepare() from retry paths 2026-06-11 09:24:53 +02:00
ident.c Merge branch 'ps/reflog-migrate-fixes' into maint-2.51 2025-10-15 10:29:28 -07:00
ident.h ident: fix type of string length parameter 2025-08-06 07:36:30 -07:00
imap-send.c setup: stop using the_repository in setup_git_directory_gently() 2026-05-19 19:36:24 +09:00
INSTALL
iterator.h refs/iterator: separate lifecycle from iteration 2025-03-12 11:31:18 -07:00
json-writer.c json-writer: add docstrings to jw_* functions 2025-05-16 09:33:06 -07:00
json-writer.h json-writer: describe the usage of jw_* functions 2025-05-16 09:33:07 -07:00
khash.h
kwset.c kwset: avoid using the comma operator unnecessarily 2025-03-28 17:38:09 -07:00
kwset.h
levenshtein.c
levenshtein.h
LGPL-2.1
line-log.c Merge branch 'mm/line-log-cleanup' 2026-06-11 04:31:17 -07:00
line-log.h line-log: integrate -L output with the standard log-tree pipeline 2026-05-29 14:06:21 +09:00
line-range.c
line-range.h
linear-assignment.c cocci: use MEMZERO_ARRAY() a bit more 2025-12-13 10:47:59 +09:00
linear-assignment.h
list-objects-filter-options.c setup: stop using the_repository in upgrade_repository_format() 2026-05-19 19:36:25 +09:00
list-objects-filter-options.h list-objects-filter-options: support 'auto' mode for --filter 2026-02-17 11:46:40 -08:00
list-objects-filter.c odb: use size_t for object_info.sizep and the size APIs 2026-06-15 07:45:41 -07:00
list-objects-filter.h
list-objects.c odb: rename odb_has_object() flags 2026-03-31 20:43:14 -07:00
list-objects.h
list.h
lockfile.c Merge branch 'pc/lockfile-pid' 2026-02-17 13:30:41 -08:00
lockfile.h lockfile: add PID file for debugging stale locks 2026-01-22 12:15:46 -08:00
log-tree.c line-log: integrate -L output with the standard log-tree pipeline 2026-05-29 14:06:21 +09:00
log-tree.h color: use git_colorbool enum type to store colorbools 2025-09-16 17:59:53 -07:00
loose.c loose: refactor object map to operate on struct odb_source_loose 2026-06-01 18:47:18 +09:00
loose.h loose: refactor object map to operate on struct odb_source_loose 2026-06-01 18:47:18 +09:00
ls-refs.c refs: generalize refs_for_each_fullref_in_prefixes() 2026-02-23 13:21:18 -08:00
ls-refs.h
mailinfo.c Merge branch 'vp/http-rate-limit-retries' 2026-04-01 10:28:18 -07:00
mailinfo.h
mailmap.c odb: use size_t for object_info.sizep and the size APIs 2026-06-15 07:45:41 -07:00
mailmap.h mailmap: drop global config variables 2026-02-20 08:13:58 -08:00
Makefile test-tool: learn to act as a drop-in replacement for iconv 2026-06-29 19:07:03 +02:00
match-trees.c odb: use size_t for object_info.sizep and the size APIs 2026-06-15 07:45:41 -07:00
match-trees.h
mem-pool.c mem_pool: add GIT_TRACE_MEMPOOL support 2026-06-29 19:07:00 +02:00
mem-pool.h
merge-blobs.c odb: use size_t for object_info.sizep and the size APIs 2026-06-15 07:45:41 -07:00
merge-blobs.h odb: use size_t for object_info.sizep and the size APIs 2026-06-15 07:45:41 -07:00
merge-ll.c config: drop git_config() wrapper 2025-07-23 08:15:18 -07:00
merge-ll.h
merge-ort-wrappers.c commit: rename free_commit_list() to conform to coding guidelines 2026-01-15 05:32:31 -08:00
merge-ort-wrappers.h merge-recursive.[ch]: thoroughly debug these 2025-04-08 13:59:13 -07:00
merge-ort.c odb: use size_t for object_info.sizep and the size APIs 2026-06-15 07:45:41 -07:00
merge-ort.h merge-ort: add a new mergeability_only option 2025-05-16 15:09:14 -07:00
merge.c cocci: convert parse_tree functions to repo_ variants 2026-01-09 18:36:18 -08:00
merge.h
mergesort.h
meson.build mingw: add a cache below mingw's lstat and dirent implementations 2026-06-29 19:06:58 +02:00
meson_options.txt mingw: rely on MSYS2's metadata instead of hard-coding it 2026-06-29 19:06:16 +02:00
midx-write.c Merge branch 'ak/typofixes' 2026-06-15 07:42:00 -07:00
midx.c repack: introduce --write-midx=incremental 2026-05-20 11:31:14 +09:00
midx.h repack: introduce --write-midx=incremental 2026-05-20 11:31:14 +09:00
name-hash.c name-hash: don't add sparse directories in threaded lazy init 2025-05-21 14:51:08 -07:00
name-hash.h
notes-cache.c odb: use size_t for object_info.sizep and the size APIs 2026-06-15 07:45:41 -07:00
notes-cache.h
notes-merge.c odb: use size_t for object_info.sizep and the size APIs 2026-06-15 07:45:41 -07:00
notes-merge.h
notes-utils.c commit: rename free_commit_list() to conform to coding guidelines 2026-01-15 05:32:31 -08:00
notes-utils.h
notes.c odb: use size_t for object_info.sizep and the size APIs 2026-06-15 07:45:41 -07:00
notes.h
object-file-convert.c Merge branch 'bc/sha1-256-interop-02' 2026-03-12 10:56:02 -07:00
object-file-convert.h object-file-convert: stop depending on the_repository 2025-03-10 13:16:19 -07:00
object-file.c hash algorithms: use size_t for section lengths 2026-06-29 19:06:14 +02:00
object-file.h object-file.c: use size_t for header lengths 2026-06-29 19:06:14 +02:00
object-name.c Merge branch 'ob/more-repo-config-values' 2026-06-15 07:42:00 -07:00
object-name.h object-name: turn INTERPRET_BRANCH_* constants into enum values 2026-03-18 12:52:29 -07:00
object.c odb: use size_t for object_info.sizep and the size APIs 2026-06-15 07:45:41 -07:00
object.h commit-reach: deduplicate queue entries in paint_down_to_common 2026-05-26 07:17:26 +09:00
odb.c odb: use size_t for object_info.sizep and the size APIs 2026-06-15 07:45:41 -07:00
odb.h Merge branch 'js/objects-larger-than-4gb-on-windows-more' 2026-06-21 16:41:38 -07:00
oid-array.c
oid-array.h
oidmap.c oidmap: make entry cleanup explicit in oidmap_clear 2026-03-05 11:16:18 -08:00
oidmap.h oidmap: make entry cleanup explicit in oidmap_clear 2026-03-05 11:16:18 -08:00
oidset.c oidset: introduce oidset_equal() 2025-11-25 12:15:59 -08:00
oidset.h oidset: introduce oidset_equal() 2025-11-25 12:15:59 -08:00
oidtree.c oidtree: add ability to store data 2026-05-15 04:50:45 +09:00
oidtree.h oidtree: add ability to store data 2026-05-15 04:50:45 +09:00
pack-bitmap-write.c pack-bitmap: build pseudo-merge bitmaps after regular bitmaps 2026-05-28 05:23:01 +09:00
pack-bitmap.c pack-bitmap: stop truncating blob sizes used by --filter=blob:limit 2026-06-29 19:06:26 +02:00
pack-bitmap.h pack-bitmap: cache object positions during fill 2026-05-28 05:23:01 +09:00
pack-check.c packfile, git-zlib: widen use_pack() and zstream avail fields to size_t 2026-06-29 19:06:26 +02:00
pack-mtimes.c object-store: rename files to "odb.{c,h}" 2025-07-01 14:46:34 -07:00
pack-mtimes.h
pack-objects.c Merge branch 'ps/remove-packfile-store-get-packs' 2025-10-30 08:00:19 -07:00
pack-objects.h pack-objects: use size_t for in-core object sizes 2026-06-15 07:45:41 -07:00
pack-refs.c refs: rename 'pack_refs_opts' to 'refs_optimize_opts' 2025-11-04 07:35:12 -08:00
pack-refs.h builtin/pack-refs: factor out core logic into a shared library 2025-09-19 10:02:55 -07:00
pack-revindex.c Merge branch 'tb/incremental-midx-part-3.2' 2026-03-25 12:58:04 -07:00
pack-revindex.h midx: fix BUG() when getting preferred pack without a reverse index 2025-12-11 12:09:58 +09:00
pack-write.c object-file: get rid of the_repository in finalize_object_file() 2025-07-16 22:16:14 -07:00
pack.h builtin/fsck: stop using the_repository when checking packed objects 2026-03-23 08:33:11 -07:00
packfile.c packfile, git-zlib: widen use_pack() and zstream avail fields to size_t 2026-06-29 19:06:26 +02:00
packfile.h packfile, git-zlib: widen use_pack() and zstream avail fields to size_t 2026-06-29 19:06:26 +02:00
pager.c pager: explicitly cast away strchr() constness 2026-04-01 22:08:51 -07:00
pager.h
parallel-checkout.c checkout.c: enable fscache for checkout again 2026-06-29 19:06:59 +02:00
parallel-checkout.h
parse-options-cb.c color: use git_colorbool enum type to store colorbools 2025-09-16 17:59:53 -07:00
parse-options.c docs: fix typos and grammar 2026-05-30 07:07:27 +09:00
parse-options.h parse-options: clarify what "negated" means for PARSE_OPT_NONEG 2026-05-13 10:13:26 +09:00
parse.c config: add a repo_config_get_uint() helper 2026-04-10 07:58:53 -07:00
parse.h config: add a repo_config_get_uint() helper 2026-04-10 07:58:53 -07:00
patch-delta.c packfile,delta: drop the cast_size_t_to_ulong() wrappers 2026-06-15 07:45:41 -07:00
patch-ids.c patch-ids: document intentional const-casting in patch_id_neq() 2026-03-09 12:45:19 -07:00
patch-ids.h patch-ids.h: add missing trailing parenthesis in documentation comment 2026-05-15 04:24:54 +09:00
path-walk.c odb: use size_t for object_info.sizep and the size APIs 2026-06-15 07:45:41 -07:00
path-walk.h path-walk: support object:type filter 2026-05-24 18:41:07 +09:00
path.c Merge branch 'dont-clean-junctions' 2026-06-29 19:06:54 +02:00
path.h clean: do not traverse mount points 2026-06-29 19:06:24 +02:00
pathspec.c setup: stop using the_repository in prefix_path() 2026-05-19 19:36:24 +09:00
pathspec.h pathspec: add flag to indicate operation without repository 2025-05-22 14:20:11 -07:00
pkt-line.c global: constify some pointers that are not written to 2026-02-05 17:52:49 -08:00
pkt-line.h pkt-line: make packet_reader.line non-const 2026-04-01 22:08:52 -07:00
preload-index.c fscache: update fscache to be thread specific instead of global 2026-06-29 19:07:00 +02:00
preload-index.h
pretty.c Merge branch 'rs/strbuf-add-oid-hex' 2026-06-09 10:04:50 +09:00
pretty.h color: use git_colorbool enum type to store colorbools 2025-09-16 17:59:53 -07:00
prio-queue.c prio-queue: add prio_queue_replace() 2025-07-22 07:28:35 -07:00
prio-queue.h prio-queue: add prio_queue_replace() 2025-07-22 07:28:35 -07:00
progress.c progress: pay attention to (customized) delay time 2025-08-25 15:50:17 -07:00
progress.h
promisor-remote.c Merge branch 'th/promisor-quiet-per-repo' 2026-06-09 10:04:50 +09:00
promisor-remote.h promisor-remote: document caller filtering contract 2026-05-15 04:24:54 +09:00
prompt.c interactive: do strip trailing CRLF from input 2025-07-31 14:17:54 -07:00
prompt.h
protocol-caps.c odb: use size_t for object_info.sizep and the size APIs 2026-06-15 07:45:41 -07:00
protocol-caps.h
protocol.c Merge branch 'jc/string-list-split' 2025-08-21 13:46:59 -07:00
protocol.h
prune-packed.c object-file: get rid of the_repository in loose object iterators 2025-07-16 22:16:17 -07:00
prune-packed.h
pseudo-merge.c pack-bitmap: prevent pattern leak on pseudo-merge re-assignment 2026-05-12 10:36:18 +09:00
pseudo-merge.h Merge branch 'tb/bitamp-typofix' 2025-04-07 14:23:20 -07:00
quote.c quote: simplify internals of dequoting 2026-05-19 12:14:03 +09:00
quote.h quote: drop sq_dequote_to_argv() 2026-05-19 12:14:03 +09:00
range-diff.c range-diff: drop const to fix strstr() warnings 2026-04-01 22:08:53 -07:00
range-diff.h range-diff: rename other_arg to log_arg 2025-09-25 11:34:11 -07:00
reachable.c reachable: convert to use odb_for_each_object() 2026-01-26 08:26:08 -08:00
reachable.h
read-cache-ll.h read-cache: stop truncating index blob sizes on Windows 2026-06-29 19:06:26 +02:00
read-cache.c fscache: fscache takes an initial size 2026-06-29 19:07:00 +02:00
read-cache.h
README.md README.md: Add a Windows-specific preamble 2026-06-29 19:07:05 +02:00
rebase-interactive.c config: drop git_config_get_value() wrapper 2025-07-23 08:15:18 -07:00
rebase-interactive.h
rebase.c
rebase.h
ref-filter.c odb: use size_t for object_info.sizep and the size APIs 2026-06-15 07:45:41 -07:00
ref-filter.h Merge branch 'jt/repo-structure' 2025-11-04 07:48:07 -08:00
reflog-walk.c global: constify some pointers that are not written to 2026-02-05 17:52:49 -08:00
reflog-walk.h
reflog.c odb: use size_t for object_info.sizep and the size APIs 2026-06-15 07:45:41 -07:00
reflog.h Merge branch 'ps/remote-rename-fix' 2025-08-21 13:46:58 -07:00
refs.c Merge branch 'ps/setup-centralize-odb-creation' 2026-06-15 07:42:00 -07:00
refs.h refs: return ref_transaction_error from ref_transaction_update() 2026-05-05 16:34:07 +09:00
refspec.c refspec: fix typo in comment 2026-03-23 21:27:17 -07:00
refspec.h refspec: replace refspec_item_init() with fetch/push variants 2025-03-21 01:45:16 -07:00
RelNotes Start preparing for 2.54.1 2026-05-21 12:42:11 +09:00
remote-curl.c http: extract http_reauth_prepare() from retry paths 2026-06-11 09:24:53 +02:00
remote.c Merge branch 'ua/push-remote-group' 2026-06-09 10:04:50 +09:00
remote.h Merge branch 'ua/push-remote-group' 2026-06-09 10:04:50 +09:00
repack-cruft.c packfile: introduce macro to iterate through packs 2025-10-16 14:42:39 -07:00
repack-filtered.c repack: move write_filtered_pack() out of the builtin 2025-10-16 10:08:57 -07:00
repack-geometry.c repack: introduce --write-midx=incremental 2026-05-20 11:31:14 +09:00
repack-midx.c repack: allow --write-midx=incremental without --geometric 2026-05-20 11:31:14 +09:00
repack-promisor.c Merge branch 'ps/odb-for-each-object' 2026-03-02 17:06:50 -08:00
repack.c repack: introduce --write-midx=incremental 2026-05-20 11:31:14 +09:00
repack.h repack: introduce --write-midx=incremental 2026-05-20 11:31:14 +09:00
replace-object.c refs: introduce wrapper struct for each_ref_fn 2025-11-04 07:32:24 -08:00
replace-object.h object-store: rename files to "odb.{c,h}" 2025-07-01 14:46:34 -07:00
replay.c Merge branch 'kh/free-commit-list' 2026-06-07 23:58:24 +09:00
replay.h docs: fix typos 2026-06-05 22:27:24 +09:00
repo-settings.c environment: move access to core.maxTreeDepth into repo settings 2026-01-09 18:36:16 -08:00
repo-settings.h environment: move access to core.maxTreeDepth into repo settings 2026-01-09 18:36:16 -08:00
repository.c status: fix for old-style submodules with commondir 2026-06-29 19:06:16 +02:00
repository.h repository: stop initializing the object database in repo_set_gitdir() 2026-06-05 21:49:38 +09:00
rerere.c Merge branch 'js/objects-larger-than-4gb-on-windows-more' 2026-06-21 16:41:38 -07:00
rerere.h rerere: let rerere_path() write paths into a caller-provided buffer 2025-02-28 13:54:11 -08:00
reset.c cocci: convert parse_tree functions to repo_ variants 2026-01-09 18:36:18 -08:00
reset.h
resolve-undo.c
resolve-undo.h
revision.c Merge branch 'kk/streaming-walk-pqueue' 2026-06-16 09:01:02 -07:00
revision.h Merge branch 'kk/streaming-walk-pqueue' 2026-06-16 09:01:02 -07:00
run-command.c fixup! run-command: be helpful with Git LFS fails on Windows 7 2026-07-14 10:44:49 +02:00
run-command.h Merge branch 'pt/fsmonitor-linux' 2026-05-31 10:00:38 +09:00
sane-ctype.h sane-ctype: fix compiler error on Amazon Linux 2 2025-07-10 11:18:37 -07:00
scalar.c setup: stop using the_repository in setup_git_directory() 2026-05-19 19:36:25 +09:00
SECURITY.md SECURITY.md: document Git for Windows' policies 2026-06-29 19:07:06 +02:00
send-pack.c transport: optionally disable side-band-64k 2026-06-29 19:06:11 +02:00
send-pack.h send-pack: pass negotiation config in push 2026-05-20 11:33:24 +09:00
sequencer.c Merge branch 'rs/strbuf-add-oid-hex' 2026-06-09 10:04:50 +09:00
sequencer.h sequencer: teach autostash apply to take optional conflict marker labels 2026-04-29 21:46:03 +09:00
serve.c hash: use uint32_t for object_id algorithm 2026-02-07 17:41:01 -08:00
serve.h
server-info.c Merge branch 'ps/ref-peeled-tags' 2025-11-19 10:55:39 -08:00
server-info.h
setup.c mingw: support long paths 2026-06-29 19:07:02 +02:00
setup.h Merge branch 'ps/setup-centralize-odb-creation' 2026-06-15 07:42:00 -07:00
sh-i18n--envsubst.c
sha1dc_git.c hash algorithms: use size_t for section lengths 2026-06-29 19:06:14 +02:00
sha1dc_git.h hash algorithms: use size_t for section lengths 2026-06-29 19:06:14 +02:00
shallow.c Merge branch 'rs/strbuf-add-oid-hex' 2026-06-09 10:04:50 +09:00
shallow.h Merge branch 'sp/shallow-deepen-relative-fix' 2026-03-04 10:52:59 -08:00
shared.mak Makefile: introduce infrastructure to build internal Rust library 2025-10-02 09:32:31 -07:00
shell.c
shortlog.h
sideband.c sideband: do allow ANSI color sequences by default 2026-06-11 09:22:09 +02:00
sideband.h sideband: offer to configure sanitizing on a per-URL basis 2026-03-06 13:52:28 -08:00
sigchain.c
sigchain.h
simple-ipc.h simple-ipc.h: *.txt -> *.adoc fixes 2025-03-03 13:49:25 -08:00
sparse-index.c environment: move "sparse_expect_files_outside_of_patterns" into struct repo_config_values 2026-06-03 08:36:48 +09:00
sparse-index.h
split-index.c split-index: stop using the_repository and the_hash_algo 2026-03-19 12:01:24 -07:00
split-index.h
stable-qsort.c
statinfo.c environment: move "check_stat" into struct repo_config_values 2026-06-03 08:36:48 +09:00
statinfo.h
strbuf.c Merge branch 'rs/strbuf-add-uint' 2026-06-09 10:04:50 +09:00
strbuf.h strbuf: add strbuf_add_uint() 2026-05-13 00:48:42 +09:00
string-list.c hook: move unsorted_string_list_remove() to string-list.[ch] 2026-03-25 14:00:45 -07:00
string-list.h hook: move unsorted_string_list_remove() to string-list.[ch] 2026-03-25 14:00:45 -07:00
strmap.c
strmap.h
strvec.c
strvec.h
sub-process.c sub-process: use gentle handshake to avoid die() on startup failure 2026-06-02 07:48:57 +09:00
sub-process.h doc: update references to renamed AsciiDoc files 2025-06-06 15:05:47 -07:00
submodule-config.c odb: use size_t for object_info.sizep and the size APIs 2026-06-15 07:45:41 -07:00
submodule-config.h
submodule.c Merge branch 'ob/more-repo-config-values' 2026-06-15 07:42:00 -07:00
submodule.h odb: get rid of the_repository when handling submodule sources 2025-07-01 14:46:37 -07:00
symlinks.c symlinks: use unsigned int for flags 2026-02-20 15:03:42 -08:00
symlinks.h symlinks: use unsigned int for flags 2026-02-20 15:03:42 -08:00
tag.c odb: use size_t for object_info.sizep and the size APIs 2026-06-15 07:45:41 -07:00
tag.h tag: support arbitrary repositories in parse_tag() 2025-12-29 22:02:54 +09:00
tar.h
tempfile.c builtin/maintenance: fix locking with "--detach" 2026-05-13 16:57:53 +09:00
tempfile.h builtin/maintenance: fix locking with "--detach" 2026-05-13 16:57:53 +09:00
thread-utils.c win32: thread-utils: handle multi-socket systems 2026-06-29 19:06:23 +02:00
thread-utils.h
tmp-objdir.c odb: stop including "odb/source.h" 2026-03-12 08:38:42 -07:00
tmp-objdir.h odb: move reparenting logic into respective subsystems 2026-03-05 11:45:15 -08:00
trace.c
trace.h
trace2.c
trace2.h trace2.h: *.txt -> *.adoc fixes 2025-03-03 13:49:26 -08:00
trailer.c trailer: change strbuf in-place in unfold_value() 2026-05-16 22:11:07 +09:00
trailer.h commit, tag: parse --trailer with OPT_STRVEC 2026-03-06 13:02:20 -08:00
transport-helper.c Always auto-gc after calling a fast-import transport 2026-06-29 19:06:10 +02:00
transport-internal.h connect: use "service" enum for "name" argument 2026-05-19 15:05:46 +09:00
transport.c Merge branch 'jk/connect-service-enum' 2026-06-02 16:15:28 +09:00
transport.h Merge branch 'jk/connect-service-enum' 2026-06-02 16:15:28 +09:00
tree-diff.c tree-diff: remove the usage of the_hash_algo global 2026-02-20 10:21:11 -08:00
tree-walk.c tree-walk: widen init_tree_desc() and init_tree_desc_gently() to size_t 2026-06-29 19:06:27 +02:00
tree-walk.h tree-walk: widen init_tree_desc() and init_tree_desc_gently() to size_t 2026-06-29 19:06:27 +02:00
tree.c tree: widen struct tree.size and parse_tree_buffer() to size_t 2026-06-29 19:06:27 +02:00
tree.h tree: widen struct tree.size and parse_tree_buffer() to size_t 2026-06-29 19:06:27 +02:00
unicode-width.h unicode: update the width tables to Unicode 17 2025-10-21 10:03:00 -07:00
unimplemented.sh
unix-socket.c unix-socket: avoid leak when initialization fails 2026-06-29 19:06:09 +02:00
unix-socket.h
unix-stream-server.c
unix-stream-server.h
unpack-trees.c fscache: fscache takes an initial size 2026-06-29 19:07:00 +02:00
unpack-trees.h
upload-pack.c Merge branch 'ob/more-repo-config-values' 2026-06-15 07:42:00 -07:00
upload-pack.h
url.c url: return URL_SCHEME_UNKNOWN instead of dying 2026-05-06 09:48:27 +09:00
url.h url: return URL_SCHEME_UNKNOWN instead of dying 2026-05-06 09:48:27 +09:00
urlmatch.c urlmatch: define url_parse function 2026-05-06 09:48:28 +09:00
urlmatch.h urlmatch: define url_parse function 2026-05-06 09:48:28 +09:00
usage.c Merge branch 'kh/you-still-use-whatchanged-fix' 2025-10-02 12:26:12 -07:00
userdiff.c userdiff: extend Scheme support to cover other Lisp dialects 2026-04-15 08:43:33 -07:00
userdiff.h
utf8.c utf8.c: prepare workaround for iconv under macOS 14/15 2026-01-12 12:00:04 -08:00
utf8.h
varint.c varint: use explicit width for integers 2025-10-02 09:32:32 -07:00
varint.h varint: use explicit width for integers 2025-10-02 09:32:32 -07:00
version-def.h.in
version.c version: stop using the_repository 2026-02-08 15:16:49 -08:00
version.h version: stop using the_repository 2026-02-08 15:16:49 -08:00
versioncmp.c config: drop git_config_get_string_multi() wrapper 2025-07-23 08:15:19 -07:00
versioncmp.h
walker.c odb: rename odb_has_object() flags 2026-03-31 20:43:14 -07:00
walker.h
wildmatch.c wildmatch: avoid using of the comma operator 2025-03-28 17:38:11 -07:00
wildmatch.h
worktree.c setup: stop using the_repository in upgrade_repository_format() 2026-05-19 19:36:25 +09:00
worktree.h worktree: rename get_worktree_from_repository() 2026-05-02 07:02:45 +09:00
wrapper.c Revert "wrapper: introduce writev(3p) wrappers" 2026-04-09 14:48:09 -07:00
wrapper.h Revert "wrapper: introduce writev(3p) wrappers" 2026-04-09 14:48:09 -07:00
write-or-die.c Revert "wrapper: introduce writev(3p) wrappers" 2026-04-09 14:48:09 -07:00
write-or-die.h Revert "wrapper: introduce writev(3p) wrappers" 2026-04-09 14:48:09 -07:00
ws.c apply: check and fix incomplete lines 2025-11-12 14:04:04 -08:00
ws.h whitespace: allocate a few more bits and define WS_INCOMPLETE_LINE 2025-11-12 14:04:04 -08:00
wt-status.c commit: accept "scissors" with CR/LF line endings 2026-06-29 19:06:12 +02:00
wt-status.h wt-status: provide function to expose status for trees 2026-01-13 05:41:16 -08:00
xdiff-interface.c xdiff-interface: widen buffer_is_binary() size parameter to size_t 2026-06-29 19:06:26 +02:00
xdiff-interface.h xdiff-interface: widen buffer_is_binary() size parameter to size_t 2026-06-29 19:06:26 +02:00

Git for Windows

Contributor Covenant Open in Visual Studio Code Build status 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 in Git for Windows' Discussions or on the Git mailing list, and contribute bug fixes.

To build Git for Windows, please either install Git for Windows' SDK, start its git-bash.exe, cd to your Git worktree and run make, or open the Git worktree as a folder in Visual Studio.

To verify that your build works, use one of the following methods:

  • If you want to test the built executables within Git for Windows' SDK, prepend <worktree>/bin-wrappers to the PATH.

  • Alternatively, run make install in the Git worktree.

  • If you need to test this in a full installer, run sdk build git-and-installer.

  • You can also "install" Git into an existing portable Git via make install DESTDIR=<dir> where <dir> refers to the top-level directory of the portable Git. In this instance, you will want to prepend that portable Git's /cmd directory to the PATH, or test by running that portable Git's git-bash.exe or git-cmd.exe.

  • If you built using a recent Visual Studio, you can use the menu item Build>Install git (you will want to click on Project>CMake Settings for Git first, then click on Edit JSON and then point installRoot to the mingw64 directory of an already-unpacked portable Git).

    As in the previous bullet point, you will then prepend /cmd to the PATH or run using the portable Git's git-bash.exe or git-cmd.exe.

  • If you want to run the built executables in-place, but in a CMD instead of inside a Bash, you can run a snippet like this in the git-bash.exe window where Git was built (ensure that the EOF line has no leading spaces), and then paste into the CMD window what was put in the clipboard:

    clip.exe <<EOF
    set GIT_EXEC_PATH=$(cygpath -aw .)
    set PATH=$(cygpath -awp ".:contrib/scalar:/mingw64/bin:/usr/bin:$PATH")
    set GIT_TEMPLATE_DIR=$(cygpath -aw templates/blt)
    set GITPERLLIB=$(cygpath -aw perl/build/lib)
    EOF
    
  • If you want to run the built executables in-place, but outside of Git for Windows' SDK, and without an option to set/override any environment variables (e.g. in Visual Studio's debugger), you can call the Git executable by its absolute path and use the --exec-path option, like so:

    C:\git-sdk-64\usr\src\git\git.exe --exec-path=C:\git-sdk-64\usr\src\git help
    

    Note: for this to work, you have to hard-link (or copy) the .dll files from the /mingw64/bin directory to the Git worktree, or add the /mingw64/bin directory to the PATH somehow or other.

To make sure that you are testing the correct binary, call ./git.exe version in the Git worktree, and then call git version in a directory/window where you want to test Git, and verify that they refer to the same version (you may even want to pass the command-line option --build-options to look at the exact commit from which the Git version was built).

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.adoc to get started, then see Documentation/giteveryday.adoc for a useful minimum set of commands, and Documentation/git-<commandname>.adoc 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.adoc (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 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 to git+subscribe@vger.kernel.org (see https://subspace.kernel.org/subscribing.html for details). The mailing list archives are available at https://lore.kernel.org/git/, https://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