无法更改git config的user.name,立即重置

时间:2019-09-18 18:15:25

标签: git git-config

如果我这样做:

 git config --global user.name "My New Name"

它可以工作一小会儿。如果我这样做:

cat ~/.gitconfig

我可以在user.name属性中看到正确的值。

但是,一旦我打开一个新的终端窗口或执行git commit,旧名称就会被重置。

我正在使用ssh。有一些缓存机制吗?

(请注意,这与GitHub用户名无关,而与每次提交的作者名有关)

2 个答案:

答案 0 :(得分:2)

FILES section of the git config documentation显示配置值的来源。

  

如果未使用--file明确设置,则有四个[或五个]文件,git config将在其中搜索配置选项:

     
      
  1. $(prefix)/etc/gitconfig
      系统范围的配置文件。
  2.   
  3. $XDG_CONFIG_HOME/git/config
      第二个用户特定的配置文件。如果$XDG_CONFIG_HOME未设置或为空,则将使用$HOME/.config/git/config~/.gitconfig.中的任何内容都将覆盖此文件中设置的任何单值变量。如果您有时使用旧版本的Git,则最好不要创建此文件,因为该文件的支持是最近才添加的。
  4.   
  5. ~/.gitconfig
      用户特定的配置文件。也称为“全局”配置文件。
  6.   
  7. $GIT_DIR/config
      存储库特定的配置文件。
  8.   
  9. $GIT_DIR/config.worktree
      这是可选的,只有在extensions.worktreeConfig中存在$GIT_DIR/config时才进行搜索。
  10.   

关于它们的优先级

  

以上述顺序读取文件,找到的最后一个值优先于先前读取的值。当采用多个值时,将使用所有文件中键的所有值。

在您使用git configgit config --local修改存储库配置的情况下(这将修改$GIT_DIR/config,因此.git/config用于带有工作树的仓库或{裸存储区中的{1}},并且通过config(存储在git config --global中的更改)在该存储库中是不可见的。

要进行快速完整性检查,请运行两个命令。

~/.gitconfig

答案 1 :(得分:0)

我有一个覆盖全局~/.gitconfig的shell脚本。具体来说,来自Mathias Bynens的dotfiles.extra文件。

See this GitHub issue for more details