git - 无法更改 git config 的 user.name,立即重置
问题描述
如果我做:
git config --global user.name "My New Name"
它的工作,一小会儿。如果我这样做:
cat ~/.gitconfig
user.name
我可以在属性中看到正确的值。
但是,只要我打开一个新的终端窗口或执行 git commit,旧名称就会被重置。
我正在使用 ssh。有一些缓存机制吗?
(注意这不是关于 GitHub 用户名,而是关于每个提交的作者姓名)
解决方案
文档的FILES 部分git config
显示了配置值的来源。
如果没有用 明确设置
--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
推荐阅读
- java - 当我的应用程序停止时,我该如何捕捉?
- c++ - 了解双整数转换中的 int-vs-trunc 关系
- javascript - onclick 重新加载另一个组件 ReactJS
- node.js - NodeJS - 要执行请求,请定义 url 和回调
- swift - 基于 QOS 的 DispatchSemaphore 是否阻塞了整个线程池
- functional-programming - 为什么在状态单子中需要平面图?
- corda - Corda 不同步附件的文件名
- windows - Windows Server 是否支持 Per-Monitor v2 Awareness?
- javascript - react-edittext中的'onSave()'函数如何传递两个参数?
- python - 无服务器公共访问