如何在.gitconfig中指定Windows路径的语法?

16

我正在尝试使用include.path配置(链接中有描述),但是在Windows上似乎找不到正确的路径语法。

我的当前 .gitconfig 文件:

[include]
    path = 'D:\Scott\Shared\config\common.gitconfig'

但是git会抱怨:fatal: bad config file line 2 in C:\Users\Scott/.gitconfig

在Windows上,正确的路径转义方式是什么?注意:我正在使用PowerShell而不是Git Bash。

2个回答

14

好的,我弄清楚了。关键是:

  1. 用双引号括起来
  2. 将反斜杠转换为正斜杠。
  3. 对于绝对路径,以驱动器字母+冒号开头

因此,上述内容的正确版本是:

[include]
    path = "D:/Scott/Shared/config/common.gitconfig"

无法在Win 7上运行,git版本为1.9.5。 如果我运行git config --global -l,我会得到include.path=c:/common/git/commonConfig。似乎没有读取commonConfig的任何内容。 - Number8
这对我仍然有效。请注意,我无法从“git config --global -l”中看到配置,但它们对其他git命令(difftool、别名等)可用。Windows 8.1和git --version: 1.9.5.msysgit.1 - Scott Wegner
Scott W.:是的,我终于弄清楚了git config --global -l只是读取配置文件而不扩展include.path,而其他git命令按预期工作。很遗憾,查看配置的简单方法不可用... - Number8
@Number8 指定配置文件(如 --global)会防止扩展 include.path,但是有 --includes,所以您可以在任何存储库之外使用 git config --global --includes -l 或简单地使用 git config -l 来查看全局和系统配置。 - André Sassi
"git config --something "c:/my\ windows \path/"" - Robin Manoli

-1
基于在 Git Bash 中的 pwd 命令输出,我猜测它很可能是:
/d/Scott/Shared/config/common.gitconfig

谢谢letitbee,不过这对我似乎不起作用。我应该提一下我正在使用的是Powershell而不是git bash(将更新问题)。我刚刚找到了一个可行的语法,我也把它发布为答案。 - Scott Wegner
如果Windows愿意遵循直观的方法,哎...这对我也不起作用。然而,作者的自我答案却可以。 - topr
1
我认为你的推测是不正确的。:/ - jlucktay

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接