如何禁用git自动合并功能?

5

我在使用git,想要禁用git pull中的自动合并功能,因为有时由于git基于行比较进行合并,导致代码错误。是否可以强制GIT始终启动手动合并而非自动合并?换句话说,禁用git的自动合并。


6
可能是 如何使用 Git 防止自动合并? 的重复问题。 - Phiter
有时合并会导致错误,为了完全控制代码,我需要设置一种方法,使得Git始终对开发人员运行手动合并。 - AILY
你如何称呼手动合并? - Federico Nafria
意思是我控制合并,不要让 Git 为我添加代码。 - AILY
1
你理解什么是合并吗? - evolutionxbox
显示剩余5条评论
3个回答

5

我猜你实际想要的是在当前分支无法快速前向到上游分支时禁用合并。

默认情况下,当你的本地分支与上游分支不同时,git会执行合并操作。合并操作将尝试快速将分支前向,并且如果失败(这种情况发生在本地分支不是上游分支位置的直接祖先之一),则会尝试以“通常”的方式进行合并。在这种情况下,合并可能会导致合并冲突,你需要解决这些冲突。我认为这是你在问题中提到的,并且你想停止这种情况发生。

为了避免这种情况,你可以配置 git pull 仅在可能快速前向时执行合并。你可以通过在 git pull 调用中指定--ff-only来实现这一点:

git pull --ff-only

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

git config --global pull.ff only

3

来自git pull手册页面:

git pullgit fetchgit merge FETCH_HEAD的缩写。

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


1

没有所谓的“手动合并”。

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

Git仍然会执行合并,但您可以审查和更正它(如果需要)。然后,当您满意合并代码的外观时,可以运行git commit完成合并(和拉取)。


那对我来说效果很不错。 - Anshuman Kumar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接