详细版本见个人博客:Git的Fast Forward和no fast foward合并模式对比
通常,合并分支时,如果没有分歧解决,就会直接移动文件指针,这就是Fast forward
模式。
举例来说,开发一直在master分支进行,但忽然有一个新的想法,于是新建了一个dev的分支,并在其上进行一系列提交,完成时,回到master分支,此时,master分支在创建dev分支之后并未产生任何新的commit。此时的合并就叫
fast forward
。
但这种模式下,删除分支后,会丢掉分支信息。
如果要强制禁用Fast forward
模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。
一、强制禁用Fast forward
模式的具体方法
下面我们看下如何强制禁用Fast forward
模式(--no-ff
方式)的git merge
:
首先修改readme.md
文件,并提交一个新的commit:
$ git add .
$ git commit -am "update readme"