@@ -15,6 +15,62 @@ for Windows' [Google Group](http://groups.google.com/group/git-for-windows),
1515and [ contribute bug
1616fixes] ( https://github.com/git-for-windows/git/wiki/How-to-participate ) .
1717
18+ To build Git for Windows, please either install [ Git for Windows'
19+ SDK] ( https://gitforwindows.org/#download-sdk ) , start its ` git-bash.exe ` , ` cd `
20+ to your Git worktree and run ` make ` , or open the Git worktree as a folder in
21+ Visual Studio.
22+
23+ To verify that your build works, use one of the following methods:
24+
25+ - If you want to test the built executables within Git for Windows' SDK,
26+ prepend ` <worktree>/bin-wrappers ` to the ` PATH ` .
27+ - Alternatively, run ` make install ` in the Git worktree.
28+ - If you need to test this in a full installer, run `sdk build
29+ git-and-installer`.
30+ - You can also "install" Git into an existing portable Git via `make install
31+ DESTDIR=<dir >` where ` <dir >` refers to the top-level directory of the
32+ portable Git. In this instance, you will want to prepend that portable Git's
33+ ` /cmd ` directory to the ` PATH ` , or test by running that portable Git's
34+ ` git-bash.exe ` or ` git-cmd.exe ` .
35+ - If you built using a recent Visual Studio, you can use the menu item
36+ ` Build>Install git ` (you will want to click on `Project>CMake Settings for
37+ Git` first, then click on ` Edit JSON` and then point ` installRoot` to the
38+ ` mingw64 ` directory of an already-unpacked portable Git).
39+
40+ As in the previous bullet point, you will then prepend ` /cmd ` to the ` PATH `
41+ or run using the portable Git's ` git-bash.exe ` or ` git-cmd.exe ` .
42+ - If you want to run the built executables in-place, but in a CMD instead of
43+ inside a Bash, you can run a snippet like this in the ` git-bash.exe ` window
44+ where Git was built (ensure that the ` EOF ` line has no leading spaces), and
45+ then paste into the CMD window what was put in the clipboard:
46+
47+ ``` sh
48+ clip.exe << EOF
49+ set GIT_EXEC_PATH=$( cygpath -aw .)
50+ set PATH=$( cygpath -awp " .:contrib/scalar:/mingw64/bin:/usr/bin:$PATH " )
51+ set GIT_TEMPLATE_DIR=$( cygpath -aw templates/blt)
52+ set GITPERLLIB=$( cygpath -aw perl/build/lib)
53+ EOF
54+ ` ` `
55+ - If you want to run the built executables in-place, but outside of Git for
56+ Windows' SDK, and without an option to set/override any environment
57+ variables (e.g. in Visual Studio' s debugger), you can call the Git executable
58+ by its absolute path and use the ` --exec-path` option, like so:
59+
60+ ` ` ` cmd
61+ C:\git-sdk-64\usr\src\git\git.exe --exec-path=C:\git-sdk-64\usr\src\git help
62+ ` ` `
63+
64+ Note: for this to work, you have to hard-link (or copy) the ` .dll` files from
65+ the ` /mingw64/bin` directory to the Git worktree, or add the ` /mingw64/bin`
66+ directory to the ` PATH` somehow or other.
67+
68+ To make sure that you are testing the correct binary, call ` ./git.exe version`
69+ in the Git worktree, and then call ` git version` in a directory/window where
70+ you want to test Git, and verify that they refer to the same version (you may
71+ even want to pass the command-line option ` --build-options` to look at the
72+ exact commit from which the Git version was built).
73+
1874Git - fast, scalable, distributed revision control system
1975=========================================================
2076
0 commit comments