为什么git搜索$HOME以外的.gitconfig在Windows上?



我在Windows 10上使用PowerShell。

PS Z:> git config --global --edit
fatal: cannot create configuration file Z://.gitconfig: Permission denied
PS Z:> echo $HOME
C:Usersjoseph64
PS Z:> git --version
git version 2.36.1.windows.1

我能找到的关于配置路径的一切(例如,全局git配置数据存储在哪里?(第一次Git安装)告诉我它应该寻找~/.gitconfig。它从哪里得到Z:?

如果我用cmd代替PowerShell,我可以看到HOMEDRIVE=Z:HOMEPATH=,这至少使Git的行为有意义。但是这并不能解释为什么Git在PowerShell中的行为是一样的,只有HOME被定义。

如果我不能说服Git在我实际的主目录中查找配置文件,有没有其他方法来配置全局设置?

Windows的Git会在。gitconfig文件的%HOMEDRIVE%%HOMEPATH%中查找,如果你有X Desktop风格的配置文件夹,则会在。config/文件夹下查找。这意味着它正在使用Windows指定的域配置文件文件夹,这就是Z:的来源。

如果没有找到,则使用%USERPROFILE%。这些位置可以通过定义HOME环境变量来显式覆盖,在这种情况下,将使用HOME。

最新更新