如何查看 Git 的全局配置
查看全局 Git 配置:git config --global --list;看全部生效配置(含来源)用 git config --list --show-origin;查单个值用 git config --get user.email。配置文件在 ~/.gitconfig。
git config --global --list 列出全局配置(通常来自 ~/.gitconfig 和 $XDG_CONFIG_HOME/git/config,后者默认是 ~/.config/git/config)。想看读取到的配置及其来源文件(可能包含重复键),用 git config --list --show-origin。
常用查询
git config --global --list # 全局配置
git config --list # 各作用域读到的配置,可能包含重复键
git config --list --show-origin # 每条配置来自哪个文件
git config --get user.email # 查单个值
git config --get-regexp '^user[.]' # 按正则批量查
直接看文件
cat ~/.gitconfig # Linux/macOS 全局配置文件
Windows 下位于用户目录:C:\Users\<用户名>\.gitconfig。
常见配置层级
| 层级 | 文件 | 优先级 |
|---|---|---|
| 系统 | /etc/gitconfig | 最低 |
| 全局 | ~/.gitconfig、$XDG_CONFIG_HOME/git/config | 中 |
| 仓库 | .git/config | 高于全局 |
普通单值配置通常以后读取的值为准;还可能存在 worktree 配置和 git -c 命令级配置,优先级高于仓库级。多值配置的解释由具体配置项决定,--list 不会自动合并成唯一最终值。显式指定 --global 等作用域时,默认不展开 include;需要时加 --includes。
常见问题(FAQ)
Q:改了配置不生效?
可能被仓库级配置覆盖了。git config --show-origin --get <键> 看最终生效值来自哪个文件。
Q:user.name/user.email 是全局的吗?
默认建议全局配置(git config --global user.name "名字");公司项目和个人项目身份不同时,在各自仓库里单独配(不加 --global)。
Q:配置错了怎么删?
git config --global --unset <键>,或直接编辑 ~/.gitconfig 删行。