介绍与使用
在使用 git 进行版本管理的项目中,当完成一个特性的开发并将其合并到 master 分支时,会有两种方式:
- git merge
- git rebase
git rebase 与 git merge都有相同的作用,都是将一个分支的提交合并到另一分支上,但是在原理上却不相同
以下是用法:
git merge
将当前分支合并到指定分支,命令用法如下:
git merge xxx
git rebase
将当前分支移植到指定分支或指定commit之上,用法如下:
git rebase -i <commit>
常见的参数有--continue,用于解决冲突之后,继续执行rebase
git rebase --continue
区别
merge和rebasea都是合并历史记录,但是各自特性不同。
git merge
通过merge合并分支会新增一个merge commit,然后将两个分支的历史联系起来,其实是一种非破坏性的操作,对现有分支不会以任何方式被更改,但是会导致历史记录相对复杂。
git rebase
rebase 会将整个分支移动到另一个分支上,有效地整合了所有分支上的提交,主要的好处是历史记录更加清晰,是在原有提交的基础上将差异内容反映进去,消除了 git merge所需的不必要的合并提交。
