fast-forward
如果待合并的分支在当前分支的下游,也就是说没有分叉时,会发生快速合并,从dev分支切换到master分支,然后合并dev分支。
git checkout master
git merge dev
注意:而我们平常什么都不加的时候,则使用默认的 --ff
, 即 fast-forward 方式。
no-ff
如果我们不想要快速合并,那么我们可以强制指定为非快速合并,只需加上--no-ff
参数
git checkout master
git merge –no-ff dev
这种合并方法会在master分支上新建一个提交节点,从而完成合并。
squash
svn的在合并分支时采用的就是这种方式,squash会在当前分支新建一个提交节点。
squash和no-ff非常类似,区别只有一点不会保留对合入分支的引用。
git checkout master
git merge –squash test
合并冲突
参考资料
1. 《CS Visualized: Useful Git Commands》
2. Git 分支管理 不使用Fast forward模式进行合并 分支管理策略