如何禁用git自动合并

时间:2017-12-18 15:57:14

标签: git

我正在使用git,我想在git pull上禁用git自动合并,因为有时它会导致代码错误,因为git基于行比较合并。是否可以强制GIT始终启动手动合并在git pull上自动合并,其他的话禁用git自动合并。

3 个答案:

答案 0 :(得分:3)

来自git pull联机帮助页:

  

git pull是git fetch的简写,后跟git merge FETCH_HEAD。

所以git fetch可能就是你所需要的。

答案 1 :(得分:1)

我猜你在这里真正想要的是在不可能将当前分支快进到上游分支时禁用合并。

默认情况下,git 行为是当您的本地分支与上游 git pull 不同时运行合并。依次合并将尝试快进分支,如果失败(如果您的本地分支不是上游分支位置的直接祖先,则会发生这种情况)然后尝试以“通常”方式合并它。在这种情况下,合并可能会导致您必须解决的合并冲突。我认为这就是您在问题中提到的以及您希望停止发生的事情。

为了防止这种情况,您可以将 git pull 配置为仅在可能快进时执行合并。您可以通过将 --ff-only 指定为 git pull 调用来执行此操作:

git pull --ff-only

或者您可以使用 git pull 将其设为 git config 的默认行为:

git config --global pull.ff only

答案 2 :(得分:0)

没有像“手动合并”这样的东西。

但是,如果要在提交之前检查(并修改)merge的结果,可以将--no-commit命令行标志添加到git pull命令。

Git仍会执行合并,但您可以查看并更正它(如果需要)。然后,当您满意合并代码的样子时,您可以运行git commit来完成合并(以及拉动)。