【问题标题】:Turn off git path resolution in commit message在提交消息中关闭 git 路径解析
【发布时间】:2017-11-20 06:29:23
【问题描述】:

当我在 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

【问题讨论】:

  • 尝试单引号而不是双引号。或者只是 git commit 并通过 vim 添加消息。
  • @jonrsharpe,非常感谢!它对我有用!
  • 这似乎是 Git Bash 中的一个错误;我已经为它开了一个issue
  • 如果您以/ 开头的路径,它是相对路径吗?

标签: git relative-path commit-message


【解决方案1】:

原来这是一个known issue in Git for Windowsissue tracker link)。解决方法是使用MSYS_NO_CONV:

如果您指定以斜杠开头的命令行选项,POSIX 到 Windows 的路径转换将开始转换,例如“/usr/bin/bash.exe”到“C:\Program Files\Git\usr\bin\bash.exe”。当不需要时 - 例如"--upload-pack=/opt/git/bin/git-upload-pack" or "-L/regex/" -- 需要临时设置环境变量MSYS_NO_PATHCONV,如下:

MSYS_NO_PATHCONV=1 git blame -L/pathconv/ msys2_path_conv.cc

或者,您可以将第一个斜杠加倍以避免 POSIX 到 Windows 的路径转换,例如“//usr/bin/bash.exe”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-04
    • 2011-09-07
    • 1970-01-01
    • 1970-01-01
    • 2021-03-06
    • 2019-10-25
    • 2011-03-22
    • 2011-08-18
    相关资源
    最近更新 更多