-
Notifications
You must be signed in to change notification settings - Fork 2.7k
FAQ
Git for Windows used to be developed using the development environment called "msysGit", but roughly coinciding with Git 2.1, msysGit was superseded by a new development environment: the Git for Windows SDK.
Git for Windows defaults to using mintty terminal. Compared to default Windows console host, it provides normal multi-line cut&paste, working resizing, defaults to unicode font and avoids some bugs in the default console host. However it does not present itself as console to native applications (those not built with MSys or Cygwin), so in these applications:
- Non-ascii output may be corrupted due to mismatch in character sets (MSys and Cygwin use utf-8 while Windows will fall back to the legacy dos codepages in this case).
- Interactive and full-screen applications won't work at all.
There are several methods for working around these problems:
- Run programs that have problems using the
winpty
utility. This allows you to keep using the nicer mintty terminal, but can become unwieldy if you need the workaround for many programs. - Modify the shortcut for Git Bash to run
bash
directly withoutmintty
so it uses the default console host and configure it for "Quick Edit", reasonable size and scroll-back and suitable unicode font. You'll still have to live with the other quirks of console host. - Install and use ConEmu.
Windows file paths are by default limited to 255 characters. Some repositories may have committed files which contain paths longer than the limit. By default, Git for Windows does not support long paths, and will print errors when trying to perform any operation on a long file name. Set the configuration property core.longpaths
to true to allow certain Git operations to properly handle these files. See this wiki page for more information.
The Microsoft Team Foundation Server is capable of hosting git repositories. If the server is a member of a windows domain, and your user account is in that domain, you can use domain authentication to identify yourself to the server, and can access git repositories without having to enter any credentials. For this to work, the server has to be configured to use domain authentication, not NTLM authentication. The repository URL can be obtained from the TFS web interface, it may look like http://server.example.com:8080/tfs/TWA/TeamDev/_git/reponame.
In order to instruct git to use domain authentication, prefix the server name with :@
, like so: http://:@server.example.com:8080/tfs/TWA/TeamDev/_git/reponame
. This is a special case of the usual username:password@server
syntax, where bot the username
and password
fields are empty. This causes git to look up and use your domain credentials.
This wiki page has been retired. All it did was to point to Git for Windows' governance model.