Git for Windows v2.52.0 发布说明
最新更新:2025年11月17日
介绍
这些发布说明描述了 Git for Windows 版本特有的问题。关于核心 git 命令历史的发布说明可以在 Git 项目中找到。
有关 Git 的更多细节,包括移植到其他作系统,请参见 http://git-scm.com/。Windows版Git托管在 https://gitforwindows.org/。
▽
已知问题
在Windows 10 1703之前,或关闭开发者模式时,克隆带有符号链接的仓库时需要特殊权限,因此默认禁用符号链接支持。启用该功能,详情见此处。git clone -c core.symlinks=true
如果配置成使用 Plink,你必须先连接 putty 并接受主机密钥。
一些控制台程序,尤其是非 MSYS2 的 Python、PHP、Node 和 OpenSSL,只有在调用 MinTTY 时才会正确交互(例如,Python 控制台需要启动为 ,而非仅 )。winptywinpty pythonpython
如果你指定命令行选项以斜杠开头,POSIX到Windows路径转换会启动,比如将""转为""。当不需要这样------比如""或""------你需要临时设置环境变量,比如这样:/usr/bin/bash.exeC:\Program Files\Git\usr\bin\bash.exe--upload-pack=/opt/git/bin/git-upload-pack-L/regex/MSYS_NO_PATHCONV
MSYS_NO_PATHCONV=1 git blame -L/pathconv/ msys2_path_conv.cc
或者,你可以将第一条斜杠加倍,以避免POSIX到Windows路径转换,例如""。//usr/bin/bash.exe
Windows 驱动器通常在 POSIX 路径中被识别,其中(或相应的驱动器代号)等同于 Windows 前缀对 。如果未识别到,请恢复为Windows样式。/c/path/to/dir//c/C:\path\to\dirC:\path\to\dir
Windows版Git不允许包含以波浪号和数字结尾的DOS风格截断8.3格式文件名的提交,例如。一个变通方法是调用 ,但这并不推荐。相反,可以在 .gitignore 中添加规则来忽略该文件,或者重命名文件。mydocu~1.txtgit config core.protectNTFS false
许多 Windows 程序(包括 Windows 资源管理器)存在目录树嵌套过深,导致绝对路径超过 260 字符的问题。因此,Git for Windows 默认拒绝检查此类文件。你可以通过设置 ,例如 ,来覆盖该默认值。core.longPathsgit clone -c core.longPaths=true ...
部分命令尚未在Windows上支持,且已排除在安装过程中。
由于 Windows 版不支持 Python(由 Python 脚本支持),因此不支持 Git。git p4
快速启动图标只会安装给正在运行设置的用户(通常是管理员)。这是技术限制,不会改变。
git命令提示是为POSIX壳设计的,这在非POSIX壳(如PowerShell)中使用时可能会出现问题,就像本工单中的情况。
通过该协议推送时,Windows版Git可能会无限期卡住。此时最后一个控制台输出通常是 。作为一个变通方法,禁用边带通过应该能解决这个问题,但代价是远程错误会延迟显示(甚至根本不显示)。没有人在做这件事;如需更多细节或提供修复贡献,请参见问题#907(除非有活动,否则关闭)。git://Writing objects: 100%git config sendpack.sideband false
链接的 Git for Windows 可执行文件与强制 ASLR 不兼容,如果在 Windows 漏洞保护中启用系统范围的强制 ASLR,可能会崩溃。一种变通方法是禁用管理员PowerShell中所有可执行文件的ASLR(将启用以使用完整路径访问可执行文件而非名称):msys-2.0.dllC:\Program Files\Git\usr\bin.Name_.Name.Name_
Get-Item -Path "C:\Program Files\Git\usr\bin*.exe" | %{ Set-ProcessMitigation -Name $_.Name -Disable ForceRelocateImages }
或者,你也可以在Windows漏洞保护中完全禁用强制ASLR。