场景:从master分支B节点新建test分支,然后maste分支更新CD节点,test分支提交EF之后再拉取master分支合并。
master: A---B---C---D
test:A---B---E---F
git merge
E--------F / \ A---B---C---D----G--- test, master
git merge 会生成一个合并的提交节点G。提交树混乱,如果有冲突处理冲突,然后add,再commit。
git rebase
A---B---C---D---E---F--- test, master
git rebase 会将两个分支合成一个线性提交,不会生成多余的提交节点。提交树好看,如果有冲突会中断,处理冲突再add,然后git rebase -continue。