Latest update: May 20th 2016
These release notes describe issues specific to the Git for Windows release. The release notes covering the history of the core git commands can be found in the Git project.
See http://git-scm.com/ for further details about Git including ports to other operating systems. Git for Windows is hosted at https://git-for-windows.github.io/.
git clone -c core.symlinks=true
to enable it, see details here.winpty
(e.g. the Python console needs to be started as winpty python
instead of just python
).$HOME/_netrc
instead of $HOME/.netrc
. If you specify command-line options starting with a slash, POSIX-to-Windows path conversion will kick in converting e.g. "/usr/bin/bash.exe
" to "C:\Program Files\Git\usr\bin\bash.exe
". When that is not desired -- e.g. "--upload-pack=/opt/git/bin/git-upload-pack
" or "-L/regex/
" -- you need to set the environment variable MSYS_NO_PATHCONV
temporarily, like so:
MSYS_NO_PATHCONV=1 git blame -L/pathconv/ msys2_path_conv.cc
Alternatively, you can double the first slash to avoid POSIX-to-Windows path conversion.
mydocu~1.txt
. A workaround is to call git config core.protectNTFS false
, which is not advised. Instead, add a rule to .gitignore to ignore the file(s), or rename the file(s).core.longPaths
, e.g. git clone -c core.longPaths=true ...
.git p4
.Should you encounter other problems, please search the bug tracker and the mailing list, chances are that the problem was reported already. If it has not been reported, please follow our bug reporting guidelines and report the bug.
Git is licensed under the GNU Public License version 2.
Git for Windows also contains Embedded CAcert Root Certificates. For more information please go tohttps://www.cacert.org/policy/RootDistributionLicense.php.
This package contains software from a number of other projects including Bash, zlib, curl, msmtp, tcl/tk, perl, MSYS2 and a number of libraries and utilities from the GNU project, licensed under the GNU Public License. Likewise, it contains Perl which is dual licensed under the GNU Public License and the Artistic License.
git.exe
to the PATH
by default even when upgrading from previous Git for Windows versions.vim
) is no longer freezing in CMD windows.PATH
by default (previously, the default was for Git to be available only from Git Bash/CMD).Next
button to Install
on the last wizard page before installing.git config
no longer creates a.git/
directory but prints an appropriate error message instead.gitk
is now wider by default.node
while node.exe
is not in thePATH
(this bug also affected other interactive console programs such as python
and php
).git clean -dfx
no longer aborts quietly.C:\Program Files\Git\bin\bash -l -i
in a cmd window and pressing Ctrl+C,the console is no longer corrupted (previously, the bash.exe
redirector would terminate and both cmd & Bash would compete for user input).FLG_LDR_TOP_DOWN
global flag is set.git pull --rebase=interactive
that was dropped when the pull
command was rewritten in C, was resurrected.~/.bashrc
is detected without a ~/.bash_profile
, the generated file will now also source~/.profile
if that exists.HOME
can now be used to set the home directory even when running with accounts that are part of a different domain than the current (non-domain-joined) machine (in which case the MSYS2 runtime has no way to emulate POSIX-style UIDs).http.sslCAInfo
config variable was unset..tar.bz2
packages (you need an MSYS2/Cygwin-compatible unpacker to recreate the symbolic links correctly).SHELL_PATH
had spaces and that was reported multiple times has been fixed.SHELL_PATH
containing spaces (fixing problems with interactive rebase's exec
command has been applied.C:\Git
).refs/remotes/origin/HEAD
gracefully.notepad
is configured as default editor, we no longer do anything specially unless editing files inside .git/
.user.name
anduser.email
.git fetch
ing large repositories./etc/install-options.txt
to record which options were chosen at install time.git flow
with the AVH edition which is maintained actively, in surprising and disappointing contrast to Vincent Driessen's very own project.PATH
variable is now really left alone when choosing the "Use Git from Git Bash only" option in the installer. Note that upgrading Git for Windows will call the previous version's uninstaller, which might still have that bug.antiword
utility to render Word documents for use in git diff
now works correctly.WhoUses.exe
tool to determine which process holds a lock on a given file (which was shipped with Git for Windows 1.x) gets installed alongside Git for Windows again.CurrentVersion
, InstallPath
and LibexecPath
are added to theHKEY_LOCAL_MACHINE\Software\GitForWindows
registry key to help third-party add-ons to find us.askpass
helper to ask for pass phrases.\cmd\git.exe
, Git will find tools in $HOME/bin
now.notepad
as editor without configuring a width for commit messages no longer triggers an error message..sh
file associations work again.README
is now clearer about the need to run post-install.bat
when unpacking manually.winpty
trick now to run ipython
interactively, too.HOME
is not set, we now fall back correctly to use HOMEDRIVE
andHOMEPATH
.SYSTEM
user.GIT_WORK_TREE
may now differ in lower/upper case with the Git's idea of the current working directory.git clone --dissociate ...
no longer locks the pack files during the repacking phase.astextplain
script it lacked by mistake.git flow
.git config core.editor notepad
, users can now use notepad.exe
as their default editor. Configuring git config format.commitMessageColumns 72
will be picked up by the notepad wrapper and line-wrap the commit message after the user edited it.git svn
were upgraded to version 1.9.1.psql.exe
, now work in mintty thanks to pre-configured aliases..pdf
, .doc
and .docx
files known from Git for Windows 1.x has been ported to Git for Windows 2.x..vimrc
in the home directory is now allowed to have DOS line endings.README.portable
file of the portable Git mentions the need to run post-install.bat
when the archive was extracted manually.linkgit:...
"links" but proper hyperlinks instead.mtab
link is written to /etc/mtab
again, as it should.git add -p -- .
when there is a large number of files..profile
.git rebase --skip
was speeded up again./bin/bash.exe
now adjusts the PATH
environment variable correctly (i.e. so that Git's executables are found) before launching the real Bash, even when called without --login
.Bad address
errors.D:
drive.cmd.exe
) terminal.~/.bashrc
but no ~/.bash_profile
, the latter will be created automatically.connect.exe
tool to allow SSH connections via HTTP/HTTPS/SOCKS proxies is included in Git for Windows again, as it was in Git for Windows 1.x.LANG
variable is no longer left unset (which caused troubles with vim).call start-ssh-agent
no longer spits out bogus lines.$PATH
elements point outside of Git for Windows' bin/
directories and contain .dll
files that interfere with our own (e.g. PostgreSQL's libintl-8.dll
).patch
tool is now included again as it was in Git for Windows 1.x.git svn
learned not to reuse incompatible on-disk caches left over from previous Git for Windows versions.TERM=msys
. This reinstates compatibility with GitHub for Windows.MSYS_NO_PATHCONV
environment variable. This even works for individual command lines: MSYS_NO_PATHCONV=1 cmd /c dir /x
will list the files in the current directory along with their 8.3 versions.git-bash.exe
no longer changes the working directory to the user's home directory.C:\
./bin/bash.exe
and /bin/git.exe
, e.g.to support SourceTree and TortoiseGit better.core.symlinks = true
while cloning repositories with symbolic links pointing to directories, git status
no longer shows bogus modifications.diff.exe
just as it was the case in Git for Windows 1.xclear.exe
and the cursor keys in vi work again when Git Bash is run in Windows' default console window ("ConHost")./tmp/
(https://github.com/git-for-windows/git/issues/190).MSYS
environment variable needs to be set to winsymlinks:nativestrict
./tmp/
again, just like Git for Windows 1.x did (thanks to MSys1's hard-coded mount point).Git Bash
, a regression was fixed that triggered an extra console window to be opened.git push
ing to a HTTPS remote..sh
file association was fixed%PROGRAMDATA%\Git\config
(which will be shared by libgit2-based applications with the next libgit2 version).dll
's address ranges are adjusted ("auto-rebased") as part of the installation process$HOME
environment variable againnettle
packages due to an MSYS2 issue$HOMEDRIVE$HOMEPATH
if it points to a non-existing directory (this can happen if it points to a network drive that just so happens to be Disconnected Right Now).mintty
terminal emulator%PROGRAMDATA%\Git\config
configurationvimdiff
usable with git mergetool
.git.exe
alone, use the same HOME directory fallback mechanism as /etc/profile
gitk.cmd
now works when paths contain the ampersand (&) symbol (msysgit PR #252)git svn
is now usable again (regression in previous update, msysgit PR#245)MAX_PATH
(PR #212, msysgit #227)git svn
is/might be broken. Fixes welcome.git-http-backend
, git-http-push
, git-http-fetch
available again (#174)sys$command
files when no stdin is connected (msysGit pull request #152)stat()
cache toggled via core.fscache
(pull request #107)git-cmd
: Handle home directory on a different drive correctly (pull request #146)git-cmd
: add a helper to work with the ssh agent (pull request #135)dos2unix
with hd2u
(a more powerful, but slightly incompatible version of dos2unix)iconv.exe
to assist in writing encoding filtersgit
executables.rxvt
terminals.less
.C:\
.unzip
and gvim
vim
highlightinglibiconv
/libiconv-2
locationdifftool
and mergetool
use and launching of beyond compare on windows.git fetch
.doc
files.pdf
filessdl-config
file) was fixedcompat/regex/regexec.c
) was fixedgit-gui
) was fixedgit init
failing to work with CIFS paths) was fixedgit-send-mail
not working properly) was fixed againgit svn fetch
) was fixedgit.cmd
is not the same as git.exe
) was fixedgit help
does nothing) was fixedgit --bare init
shouldn't set the directory to hidden.) was fixedgit update-index --index-info
silently does nothing) was fixedgit.cmd
issues warning if %COMSPEC%
has spaces in it) was fixedmkdir : No such file or directory
error while using git-svn to fetch or rebase) was fixedmsys-1.0.dll
whenssh-agent
is running) was fixeddos2unix
tool, thanks to Sebastian Schuberth..git/
is hidden, to work around a bug in Eclipse (thanks to Erik Faye-Lund).git gui
was fixed for all kinds of worktree-related failures (thanks Pat Thoyts).git gui
now fully supports themed widgets (thanks Pat Thoyts and Heiko Voigt).RUNTIME_PREFIX
(thanks Johannes Sixt).git gui
can Explore Working Copy on Windows again (thanks Markus Heidelberg).git gui
can create shortcuts again (fixes issue 425, thanks Heiko Voigt).git checkout
cannot overwrite files because they are in use, it will offer to try again, giving the user a chance to release the file (thanks Heiko Voigt).gitk
(thanks Jens Lehmann).git gui
no longer binds Ctrl+C, which caused problems when trying to use said shortcut for the clipboard operation "Copy" (fixes issue 423, thanks Pat Thoyts).gitk
does not give up when the command line length limit is reached (issue 387).Git.cmd
is called from cmd.exe
(thanks Alexey Borzenkov).NO_FSTAB_THREAD
is set (thanks Johannes Sixt).msys-1.0.dll
yet again, to handle quoted parameters better (thanks Heiko Voigt)..git*
files can be associated with the default text editor (issue 397)..git
) will now be marked hidden (you can disable this setting with core.hideDotFiles=false in your config) (Issue 288).git svn
picks up the SSH setting specified with the installer (Issue 305).send-email
, thanks to Erik Faye-Lund (Issue 27).$HOMEDRIVE\$HOMEPATH
instead of $HOME
(Issue 108).$CYGWIN=tty
is ignored (Issues 138, 248 and 251).ls
command shows non-ASCII filenames correctly now (Issue 188).$HOME/.bashrc
is included last from /etc/profile
, allowing .bashrc
to override all settings in/etc/profile
(Issue 255).start
command can handle arguments with spaces now (Issue 258).git commit
), vi
no longer "restores" the cursor position.readdir()
implementation now.nedmalloc
, again speeding up Git noticably.README.portable
.git-cmd.bat
and git-bash.bat
..7z
; it still is a self-extracting archive if you rename it to .exe
.filter-branch
tool.gitk
tries not to crash when it is closed while reading references (Issue 125, thanks Pat Thoyts).git-svn
sets core.autocrlf
to false
now, hopefully shutting up most of the git-svn
reports.PAGER
s with spaces in their filename./
when HOME cannot be set to the real home directory due to locale issues (works around Issue 108 for the moment).mmap()
implementation (Issue 198).core.autocrlf
(Issue 177).git-gui
(Issue 205).plink.exe
(Issue 209).msys-1.0.dll
(should fix some Vista issues).libexec/git-core/
layout better.git-svn
is included again (original caveats still apply).git add -p
works again.Assertion failed: argv0_path
are fixed.git svn
is excluded from the end-user installer (see Known Issues).msys-1.0.dll
that supports Vista and Windows Server 2008 (Issue 122).msys-1.0.dll
to solve some command line mangling issues.PATH
, for example editors, can be launched from Git without specifying their full path.git stash apply stash@{1}
works.core.autocrlf
is enabled (true
) by default. This means git converts to Windows line endings (CRLF) during checkout and converts to Unix line endings (LF) during commit. This is the right choice for cross-platform projects. If the conversion is not reversible, git warns the user. The installer warns about the new default before the installation starts.git svn
. Note that the performance might be below your expectation.qsort
replacement to improve performance on Windows 2000.pull
/fetch
/push
in git-gui
works. Note, there is no way for ssh
to ask for a passphrase or for confirmation if you connect to an unknown host. So, you must have ssh set up to work without passphrase. Either you have a key without passphrase, or you started ssh-agent. You may also consider using PuTTY by pointing GIT_SSH
to plink.exe
and handle your ssh keys with Pageant. In this case you should include your login name in urls. You must also connect to an unknown host once from the command line and confirm the host key, before you can use it from git-gui
.git help user-manual
displays the user manual./etc/gitconfig
is found.