在存储库中添加 .gitconfig 会覆盖我的全局 .gitconfig 文件配置吗?
Posted
技术标签:
【中文标题】在存储库中添加 .gitconfig 会覆盖我的全局 .gitconfig 文件配置吗?【英文标题】:will adding .gitconfig in repository override my global .gitconfig file configurations? 【发布时间】:2016-06-07 13:46:51 【问题描述】:我将我的项目托管在 TFS-GIT 服务器中。我在 TFS 上遇到拉取请求合并问题。一种选择是更新 TFS 服务器本身上的 git 配置以“合并 --no--ff”,因为时间紧迫和其他无法尽快完成的问题。我正在寻找解决此问题的方法
如果我将 .gitconfig 文件添加到存储库并合并 .ff 和 pull.ff 为 false 是否会覆盖在存储库级别应用的配置? git 会这样工作吗?
非常感谢任何帮助
【问题讨论】:
【参考方案1】:是的,签入特定存储库的.gitconfig
中的设置将覆盖您的全局.gitconfig
设置。
见this link:
一个 .gitconfig 文件最多可以驻留在您的 文件系统,确定文件所在范围的位置 内容被考虑:
全局(~/.gitconfig):最常用的,建立全局 特定用户的配置选项。 系统(/etc/.gitconfig): 很少使用,为整个系统建立配置选项 本地系统(此计算机上的所有用户)。 本地:在存储库级别, 建立仅影响此存储库的配置选项。如果 此文件已提交,其中包含的设置将影响 克隆此存储库的所有用户。
同样来自git-scm.com(为清晰起见进行了编辑):
文件按顺序读取,使用(存储库 发现特定的
.gitconfig
)优先于(其他.gitconfig
文件)。
【讨论】:
我尝试将它添加到我在 TFS 中的存储库中,当我在这个 repo 上执行拉取请求合并时,它仍然在执行 git merge 而不是 git merge --no--ff 。这就是我此时面临的主要问题,因为我无法更改服务器上的 TFS-GIT 默认 .gitconfigs 设置,我正在寻找这个选项提交 .gitconfig 并在 repo 中使用 merge --no ff 作为解决方法。我对 .gitconfigs 文件做错了吗? 这是在 .gitconfig 文件中检查的内容,看起来像 [merge] ff = false [pull] ff = false以上是关于在存储库中添加 .gitconfig 会覆盖我的全局 .gitconfig 文件配置吗?的主要内容,如果未能解决你的问题,请参考以下文章