1- [ ![ Build status] ( https://github.com/git/git/workflows/CI/badge.svg )] ( https://github.com/git/git/actions?query=branch%3Amaster+event%3Apush )
1+ Git for Windows
2+ ===============
3+
4+ [ ![ Contributor Covenant] ( https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg )] ( CODE_OF_CONDUCT.md )
5+ [ ![ Open in Visual Studio Code] ( https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc )] ( https://open.vscode.dev/git-for-windows/git )
6+ [ ![ Build status] ( https://github.com/git-for-windows/git/workflows/CI/badge.svg )] ( https://github.com/git-for-windows/git/actions?query=branch%3Amain+event%3Apush )
7+ [ ![ Join the chat at https://gitter.im/git-for-windows/git ] ( https://badges.gitter.im/Join%20Chat.svg )] ( https://gitter.im/git-for-windows/git?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge )
8+
9+ This is [ Git for Windows] ( http://git-for-windows.github.io/ ) , the Windows port
10+ of [ Git] ( http://git-scm.com/ ) .
11+
12+ The Git for Windows project is run using a [ governance
13+ model] ( http://git-for-windows.github.io/governance-model.html ) . If you
14+ encounter problems, you can report them as [ GitHub
15+ issues] ( https://github.com/git-for-windows/git/issues ) , discuss them in Git
16+ for Windows' [ Discussions] ( https://github.com/git-for-windows/git/discussions )
17+ or on the [ Git mailing list] ( mailto:git@vger.kernel.org ) , and [ contribute bug
18+ fixes] ( https://gitforwindows.org/how-to-participate ) .
19+
20+ To build Git for Windows, please either install [ Git for Windows'
21+ SDK] ( https://gitforwindows.org/#download-sdk ) , start its ` git-bash.exe ` , ` cd `
22+ to your Git worktree and run ` make ` , or open the Git worktree as a folder in
23+ Visual Studio.
24+
25+ To verify that your build works, use one of the following methods:
26+
27+ - If you want to test the built executables within Git for Windows' SDK,
28+ prepend ` <worktree>/bin-wrappers ` to the ` PATH ` .
29+ - Alternatively, run ` make install ` in the Git worktree.
30+ - If you need to test this in a full installer, run `sdk build
31+ git-and-installer`.
32+ - You can also "install" Git into an existing portable Git via `make install
33+ DESTDIR=<dir >` where ` <dir >` refers to the top-level directory of the
34+ portable Git. In this instance, you will want to prepend that portable Git's
35+ ` /cmd ` directory to the ` PATH ` , or test by running that portable Git's
36+ ` git-bash.exe ` or ` git-cmd.exe ` .
37+ - If you built using a recent Visual Studio, you can use the menu item
38+ ` Build>Install git ` (you will want to click on `Project>CMake Settings for
39+ Git` first, then click on ` Edit JSON` and then point ` installRoot` to the
40+ ` mingw64 ` directory of an already-unpacked portable Git).
41+
42+ As in the previous bullet point, you will then prepend ` /cmd ` to the ` PATH `
43+ or run using the portable Git's ` git-bash.exe ` or ` git-cmd.exe ` .
44+ - If you want to run the built executables in-place, but in a CMD instead of
45+ inside a Bash, you can run a snippet like this in the ` git-bash.exe ` window
46+ where Git was built (ensure that the ` EOF ` line has no leading spaces), and
47+ then paste into the CMD window what was put in the clipboard:
48+
49+ ``` sh
50+ clip.exe << EOF
51+ set GIT_EXEC_PATH=$( cygpath -aw .)
52+ set PATH=$( cygpath -awp " .:contrib/scalar:/mingw64/bin:/usr/bin:$PATH " )
53+ set GIT_TEMPLATE_DIR=$( cygpath -aw templates/blt)
54+ set GITPERLLIB=$( cygpath -aw perl/build/lib)
55+ EOF
56+ ` ` `
57+ - If you want to run the built executables in-place, but outside of Git for
58+ Windows' SDK, and without an option to set/override any environment
59+ variables (e.g. in Visual Studio' s debugger), you can call the Git executable
60+ by its absolute path and use the ` --exec-path` option, like so:
61+
62+ ` ` ` cmd
63+ C:\git-sdk-64\usr\src\git\git.exe --exec-path=C:\git-sdk-64\usr\src\git help
64+ ` ` `
65+
66+ Note: for this to work, you have to hard-link (or copy) the ` .dll` files from
67+ the ` /mingw64/bin` directory to the Git worktree, or add the ` /mingw64/bin`
68+ directory to the ` PATH` somehow or other.
69+
70+ To make sure that you are testing the correct binary, call ` ./git.exe version`
71+ in the Git worktree, and then call ` git version` in a directory/window where
72+ you want to test Git, and verify that they refer to the same version (you may
73+ even want to pass the command-line option ` --build-options` to look at the
74+ exact commit from which the Git version was built).
275
376Git - fast, scalable, distributed revision control system
477=========================================================
@@ -29,7 +102,7 @@ CVS users may also want to read [Documentation/gitcvs-migration.adoc][]
29102(` man gitcvs-migration` or ` git help cvs-migration` if git is
30103installed).
31104
32- The user discussion and development of Git take place on the Git
105+ The user discussion and development of core Git take place on the Git
33106mailing list -- everyone is welcome to post bug reports, feature
34107requests, comments and patches to git@vger.kernel.org (read
35108[Documentation/SubmittingPatches][] for instructions on patch submission
@@ -43,6 +116,7 @@ To subscribe to the list, send an email to <git+subscribe@vger.kernel.org>
43116(see https://subspace.kernel.org/subscribing.html for details). The mailing
44117list archives are available at < https://lore.kernel.org/git/> ,
45118< https://marc.info/? l=git> and other archival sites.
119+ The core git mailing list is plain text (no HTML! ).
46120
47121Issues which are security relevant should be disclosed privately to
48122the Git Security mailing list < git-security@googlegroups.com> .
0 commit comments