使用git merge时,如何将“快进”设置为默认值

时间:2013-05-09 03:39:09

标签: git git-merge

来自git book

  

你会注意到那个合并中的短语“快进”。因为您合并的分支所指向的提交直接位于您所在的提交的上游,所以Git将指针向前移动。换句话说,当你尝试将一个提交与可以通过遵循第一个提交的历史记录到达的提交合并时,Git通过向前移动指针来简化事情,因为没有不同的工作要合并在一起 - 这称为“快进“。

但是,此“快进”的副作用是,如果您有一个具有多个提交的功能分支,则在合并回主服务器时将丢失该功能的历史上下文。换句话说,提交不会被组合在一起作为此功能的一部分。

with fast forward:     x---x---x---x---x---x---x

without fast forward:  x---x---x         x---x---x---x
                                \x--x--x/

手动方式是git merge --no-ff

有谁知道如何将其设为默认值?

2 个答案:

答案 0 :(得分:39)

将配置变量merge.ff设置为false

git config --global merge.ff false

(没有--global限制对当前项目的影响)

答案 1 :(得分:0)

对于任何想要在拉入时保持快进的人-您都可以使用pull.ff设置覆盖pulls的merge.ff配置

git config --global pull.ff false

更多信息在这里: https://git-scm.com/docs/git-config#Documentation/git-config.txt-pullff