如何更改gitconfig的位置?

Pin*_*aas 3 windows git

我在Windows 7下运行此命令:

git status
Run Code Online (Sandbox Code Playgroud)

现在我收到此错误:

fatal: unable to access 'H:\/.config/git/config
Run Code Online (Sandbox Code Playgroud)

目前,我已与网络断开连接。我仍然可以通过更改配置位置或创建新配置来解决此问题吗?

pok*_*oke 5

Git 将尊重HOME环境变量来确定 global 的位置.gitconfig

如果要求您的域管理员将您的HOMEDRIVEHOMEPATH变量重置回您的本地用户配置文件不是一个选项,您可以简单地HOME将您的 shell 顶部的变量(通常未设置,因此不会发生冲突)更改为让 Git 使用该位置。

例如,如果您使用 Git Bash,您只需将以下行添加到 shell 配置文件的底部,位于C:\Program Files (x86)\Git\etc\profile

export HOME="$USERPROFILE"
Run Code Online (Sandbox Code Playgroud)

(我认为$USERPROFILE即使域设置更改了您的主驱动器,仍然保留默认值。当然,如果这不起作用,您始终可以指定固定路径)

如果您正在使用其他 shell,您可以执行类似的操作,例如在 PowerShell 中:

$env:HOME = $env:USERPROFILE # or = 'C:\Users\poke\'
Run Code Online (Sandbox Code Playgroud)

当然,由于默认情况下未设置该变量,您也可以在系统配置中在 Windows 级别设置它。这样,每个程序都会自动使用它。

之后,所有 Git 命令都会自动查看$HOME\.gitconfig.


Von*_*onC 5

我仍然可以通过更改配置位置或创建新配置来解决此问题吗?

您可以简单地更改环境变量HOME,以引用现有的本地文件夹

set HOME=C:\local\path
Run Code Online (Sandbox Code Playgroud)

在该文件夹中,可以定义一个.gitconfig以便具有全局git config文件。

msysgit/msysgit/git-cmd.bat默认将其定义为:

@if not exist "%HOME%" @set HOME=%USERPROFILE%
Run Code Online (Sandbox Code Playgroud)