Git for Windows更改提交消息?

时间:2019-02-19 23:40:47

标签: windows bash git

完成后

git commit -am '/logs whatever'

我最终收到落实消息C:/Program Files/Git/logs whatever。这是怎么发生的?我无法通过搜索“ git commit message autocomplete”之类的东西来找到任何相关信息。

$ git --version
git version 2.20.1.windows.1

$ bash --version
GNU bash, version 4.4.23(1)-release (x86_64-pc-msys)

其他调查路径不必存在,只是附加到C:/Program Files/Git,但如果存在,则情况可能会有所不同(注意/usr/,两条路径都存在):

$ git commit -am '/bin/git.exe something'
[master 22f9915] C:/Program Files/Git/usr/bin/git.exe something

1 个答案:

答案 0 :(得分:1)

显然,这是this。 Windows Git的维护者Johannes Schindelin描述了它以及可能的修复:

  

如果您指定以斜杠开头的命令行选项,则POSIX到Windows的路径转换将在转换例如“ colors = [attr for attr in dir(Colors) if not callable(getattr(Colors, attr)) and not attr.startswith("__")] for color in colors: print(color + 'foo') //prints this: //REDfoo //GREENfoo ... ”到“ colors = [attr for attr in dir(Colors) if not callable(getattr(Colors, attr)) and not attr.startswith("__")] for color in colors: print(Colors.color + 'foo') //error: Colors has no attribute 'color' print(Colors[color] + 'foo') //error: Colors object is not subscriptable ”。当不需要时-例如“ /usr/bin/bash.exe”或“ C:\Program Files\Git\usr\bin\bash.exe”-您需要临时设置环境变量--upload-pack=/opt/git/bin/git-upload-pack,如下所示:

     

-L/regex/

     

或者,您可以将第一个斜杠加倍,以避免POSIX到Windows的路径转换。

即使您的情况并非如此,但消息以斜杠开头的事实一定会触发此行为。