参考链接
通常,合并分支时,如果可能,Git会用Fast forward
模式,但这种模式下,删除分支后,会丢掉分支信息
。如果要强制禁用Fast forward模式
,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息
。
证明
- 新建分支
dev1
,修改readme.txt
,然后在dev1
分支下git add readme.txt
git commit -m "dev1 branch commit"
- 回到
master
分支,执行merge即git merge dev1
- 删除分支
- 查看日志即
git log --graph --pretty=oneline --abbrev-commit
- 新建分支
dev2
,修改readme.txt
,然后在dev2
分支下git add readme.txt
git commit -m "dev2 branch commit"
- 回到
master
分支,执行merge即git merge --no-ff -m "dev2 merged with mo-ff" dev2
- 删除分支
- 查看日志即
git log --graph --pretty=oneline --abbrev-commit
- 比较两次合并,可以看出不同之处,
no-ff
的模式会记录分支历史、