git merge和git rebase都有合并分支的作用,但是这两种具体有什么区别呢?跟我一起来看一下吧
git merge
git merge master
git merge master dev
git merge
的用法如下,在dev分支上,将master分支拉到(合到) dev分支。
git rebase(变基)
git rebase master
git rebase
的用法如下,在dev分支上,将master分支拉到(合到) dev分支。
区别
我们知道,如果 git merge
的话,我们的分支上 git log
会有很多人很多分支的commit记录,这些记录包括 开发新需求的commit,新的merge合并,(按照时间从近到远) 会非常的乱。
这时候,如果我们用 git rebase
,我们 git rebase
的所有commit和 merge ,我们自己提交的commit将会被放到最上面(按照时间排布),剩下所有人的分支commit都会放在我们下面(也是按照时间排布)。可以看做是从基于别人commit之后的代码上拉的新分支,称之为变基。