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