If I do:
git config --global user.name "My New Name"
它有效,只持续很短一段时间。如果我这样做:
cat ~/.gitconfig
我可以看到正确的值user.name
财产。
但是,一旦我打开新的终端窗口或进行 git 提交,旧名称就会重置。
我正在使用 ssh。有缓存机制吗?
(请注意,这不是关于 GitHub 用户名,而是关于每次提交的作者姓名)
The 文件部分git config文档 https://git-scm.com/docs/git-config#FILES显示配置值的来源。
如果没有明确设置--file
,有四个[或五个]文件,其中git config
将搜索配置选项:
-
$(prefix)/etc/gitconfig
系统范围的配置文件。
-
$XDG_CONFIG_HOME/git/config
第二个用户特定的配置文件。如果$XDG_CONFIG_HOME
未设置或为空,$HOME/.config/git/config
将会被使用。该文件中设置的任何单值变量都将被其中的内容覆盖~/.gitconfig.
如果您有时使用旧版本的 Git,最好不要创建此文件,因为最近才添加了对此文件的支持。
-
~/.gitconfig
用户特定的配置文件。也称为“全局”配置文件。
-
$GIT_DIR/config
存储库特定的配置文件。
-
$GIT_DIR/config.worktree
这是可选的,仅在以下情况下搜索extensions.worktreeConfig
存在于$GIT_DIR/config
.
至于他们的优先顺序
文件按上面给出的顺序读取,最后找到的值优先于先前读取的值。当采用多个值时,将使用所有文件中某个键的所有值。
如果您使用以下命令修改存储库的配置git config
or git config --local
(这将修改$GIT_DIR/config
,所以要么.git/config
对于具有工作树的存储库或config
在一个裸仓库中),并通过更改git config --global
(存储在~/.gitconfig
)在该存储库中将不可见。
要进行快速健全性检查,请运行两个命令。
git config --global user.name
git config --local user.name
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)