Git全局配置文件创建在仓库子文件夹,如何修改至仓库根目录?
Git全局配置文件路径异常的修复方案
问题场景
我在VSCode中打开的仓库结构如下:
.git\ Folder1\ Folder2\ Folder3\ .gitignore
首次提交代码时,系统提示需配置用户信息,我使用--global选项设置了用户名和邮箱,但.gitconfig(以及.lesshst、.viminfo等文件)并未创建在用户配置文件根目录,而是被创建在了Folder1中。
删除Folder1中的.gitconfig后执行git config --global --list --show-origin,会收到错误:
fatal: unable to read config file '/Folder1/.gitconfig': No such file or directory
我的$env:USERPROFILE已正确设置为用户配置文件根目录,$env:Path为标准路径,未包含Folder1。需要将全局配置文件的默认位置改回用户配置文件根目录,而非Folder1子文件夹。
修复步骤
检查Git全局配置路径变量:Git优先通过
GIT_CONFIG_GLOBAL环境变量确定全局配置文件位置,执行以下命令查看是否被错误设置:echo $env:GIT_CONFIG_GLOBAL若输出指向
/Folder1/.gitconfig,说明该变量异常。重置全局配置路径:如果
GIT_CONFIG_GLOBAL存在错误值,执行命令清除该环境变量,之后重启终端生效:Remove-Item Env:GIT_CONFIG_GLOBAL重新配置全局用户信息:此时执行全局配置命令,
.gitconfig会自动生成在$env:USERPROFILE路径下:git config --global user.name "你的用户名" git config --global user.email "你的邮箱"验证修复结果:执行以下命令确认配置文件位置是否正确:
git config --global --list --show-origin正常输出应显示配置文件来自
$env:USERPROFILE\.gitconfig。
内容的提问来源于stack exchange,提问作者Ninja




