- 在分支commit节点表现的区别:
merge
的主分支不会保留**merge**
分支的commit
!而rebase
会保留分支的commit
- 在操作方面:
- merge:一股脑的合并所有分支上的commit,解决完冲突执行
git add . ; git commit -m 'fix conflict'
,这时候产生一个commit;- rebase: 交互式合并分支上的commit,解决完冲突后提交,不会产生多余的commit;
举例
初始状态
包含两个分支:master和dev
merge后节点状态
rebase后节点状态
- 第一二次rebase后的状态
- 最终rebase后的状态