合并Git分支,同时保持单独的分支布局

时间:2014-07-01 18:38:31

标签: git command-line git-branch

我试图遵循现在着名的git flow开发模式,但我在理解如何从命令行执行某些操作时遇到一些困难。如果我从主分支运行git merge develop,则开发分支的历史记录将移至主分支。 EX:

以下是我的回购在合并之前的样子:

              F--G--H--I Develop
             /
A--B--C--D--E Master

这是合并后的样子:

A--B--C--D--E--F--G--H--I Master

这是合并后我想要的样子:

              F--G--H--I Develop
             /          \
A--B--C--D--E------------J Master

如果我使用'合并请求,我只能获得所需的结果。我的git web界面的功能(gitlab)。我知道有一种方法可以用香草git做到这一点,我错过了什么?

1 个答案:

答案 0 :(得分:3)

您错过了--no-ff上的git merge标记。 ff代表快进;由于Master自Develop以来没有进展,git可以进行合并,保证不会出现合并冲突。 git将此类合并称为快进合并。 --no-ff标志强制git执行非快进合并,这意味着它将在您的图表中进行显式合并提交(J)。

总之:

git merge --no-ff develop

这是gitlab在您通过Web界面进行合并时所执行的操作。