通常,合并分支时,如果可能,Git会用Fast forward模式。但这种模式下,删除分支后,会丢掉分支信息。
如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样从分支历史上就可以看出分支信息。
下面我们实战以下 –no-ff 方式的git merge:
首先,仍然创建并切换dev分支:
$git checkout -b dev
switched to a new branch ‘dev’
修改readme.txt文件,并提交一个新的commit:
$ git add readme.txt
$ git commit -m “add merge”
[dev f52c633] add merge
1 file changed, 1 insertion(+)
现在,我们切换回master:
$ git switch master
Switched to branch ‘master’
准备合并dev分支,请注意 –no-ff 参数,表示禁用Fast forward:
$ git merge --no-ff -m “merge with no-ff” dev
Merge made by the ‘recursive’ strategy.
readme.txt | 1 +
1 file changed, 1 insertion(+)
因为这次合并要创建一个新的commit,所以加上 -m 参数,把commit描述写进去。
合并后,我们用git log看看分支历史:
此文章主要来源于:廖雪峰,侵权删