我有一个~/.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
.
如果您想弄清楚发生了什么,我会首先检查它是否
git config -l
提供了您期望的值。例如,有人可能也设置branch.autosetupmerge
了 ,或者其他一些选项可能会干扰。如果您不确定配置选项是否存在干扰,请尝试设置
HOME
到其他目录并.gitconfig
在该目录中创建一个仅包含该选项的文件。.gitconfig
然后,您可以在调试时对其进行修改以查看它是否存在干扰。然后,我将创建一个
git branch
跟踪另一个分支的新分支,然后再次转储输出git config -l
以确保跟踪分支具有适当的branch.<name>.rebase
设置。如果没有,那么您就知道存在问题,并且使用自定义.gitconfig
可以帮助找到罪魁祸首。您可能还想尝试使用 Homebrew 的 Git。Apple 将补丁应用到他们的 Git 中,它可能以某种方式被破坏。该版本应该支持该选项,因为它是在 2.20 中添加的,但它可能会在该特定版本中被破坏。