我有一个~/.gitconfig
文件
[branch]
autosetuprebase = always
并且它运行良好很长一段时间,最后检查了 git-2.28.0 和 git-2.28.0.windows.1
但是,当使用相同的文件(复制过来)时git-2.24.3 (Apple Git-128)
,只要我运行git pull
它,它就会打开我的文本编辑器并显示合并消息(这有时会让我措手不及,最后我只能退出编辑器,从而完成该死的合并)。如果我在工作副本上测试设置,它会显示预期值:
$ git config branch.autosetuprebase
always
显然,我的设置有些地方无法正常工作,或者该特定 git 版本存在问题。我该如何调试问题所在?我的目标是,除非我主动要求,否则永远不要看到自动合并提交建议git merge
。
答案1
如果您想弄清楚发生了什么,我首先会检查是否git config -l
提供了您期望的值。例如,有人可能还设置了branch.autosetupmerge
,或者其他选项可能会造成干扰。
如果您不确定某个配置选项是否会造成干扰,请尝试设置HOME
到其他目录并.gitconfig
在该目录中创建一个仅包含该选项的文件。然后您可以.gitconfig
在调试时修改该文件以查看它是否会造成干扰。
然后,我会创建一个新的分支,git branch
跟踪另一个分支,然后再次转储输出,以git config -l
确保跟踪分支具有适当的branch.<name>.rebase
设置。如果没有,那么您就知道有问题,使用自定义.gitconfig
可以帮助找到罪魁祸首。
您可能还想尝试使用 Homebrew 的 Git。Apple 对其 Git 进行了修补,因此它可能在某些方面出现问题。该版本应该支持该选项,因为它是在 2.20 中添加的,但它可能在该特定版本中出现问题。