0

当我在 git commit 消息中使用路径规范时,它们会在系统绝对路径中解析!

例如

git commit -m "/tools/controller subproject moved to submodule"

将导致

C:/Program Files/Git/tools/controller subproject moved to submodule

如何关闭此“功能”?

我的 git 版本是2.12.0.windows.1.

4

1 回答 1

1

事实证明,这是当前Git for Windows 中的一个已知问题问题跟踪链接)。解决方法是使用MSYS_NO_CONV

如果您指定以斜杠开头的命令行选项,POSIX-to-Windows 路径转换将启动转换,例如“ /usr/bin/bash.exe”到“ C:\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”。

于 2017-06-20T19:36:07.330 回答