Skip to content

Commit b7c9a2b

Browse files
committed
README.md: Add a Windows-specific preamble
Includes touch-ups by 마누엘, Philip Oakley and 孙卓识. Signed-off-by: Johannes Schindelin <[email protected]>
1 parent 2b556c9 commit b7c9a2b

File tree

1 file changed

+76
-2
lines changed

1 file changed

+76
-2
lines changed

README.md

+76-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,77 @@
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 on Git
16+
for Windows' [Google Group](http://groups.google.com/group/git-for-windows),
17+
and [contribute bug
18+
fixes](https://github.com/git-for-windows/git/wiki/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
376
Git - fast, scalable, distributed revision control system
477
=========================================================
@@ -29,7 +102,7 @@ CVS users may also want to read [Documentation/gitcvs-migration.txt][]
29102
(`man gitcvs-migration` or `git help cvs-migration` if git is
30103
installed).
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
33106
mailing list -- everyone is welcome to post bug reports, feature
34107
requests, comments and patches to [email protected] (read
35108
[Documentation/SubmittingPatches][] for instructions on patch submission
@@ -43,6 +116,7 @@ To subscribe to the list, send an email to <[email protected]>
43116
(see https://subspace.kernel.org/subscribing.html for details). The mailing
44117
list 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
47121
Issues which are security relevant should be disclosed privately to
48122
the Git Security mailing list <[email protected]>.

0 commit comments

Comments
 (0)