git merge 和 git rebase 这两个命令都可以用来合并分支,两者的区别主要体现在 commit log 的处理方式和解决冲突的方式不同。和 git merge
不同的是,需要在 feature
分支上进行 git rebase master
的操作,意味着让当前分支 feature
相对于 分支 master
进行变基。解决了冲突之后,需要执行 git rebase --continue
来继续变基的操作。
merge 命令合并完分支后,如果解决过冲突,会产生一个 commit log 记录
rebase 命令合并分支后不会产生额外的commit。这样的好处是,‘干净’,分支上不会有无意义的解决分支的commit;坏处,如果合并的分支中存在多个commit
,需要重复处理多次冲突。
当需要保留详细的合并信息的时候建议使用git merge
,特别是需要将分支合并进入master
分支时;当发现自己修改某个功能时,频繁进行了git commit
提交时,发现其实过多的提交信息没有必要时,可以尝试git rebase
。