Git rebase and merge

问题:

git rebase vs git merge 。两者区别以及应用场景是什么?

回答:

简而言之 merge 和 rebase

  • Merge:利用一个新commit把一个分支上的所有更改合并到另外一个分支
  • Rebase:利用rebase合并另外的分支之后不产生一个新的commit,而是基于合并的两个分支的祖先,把当前分支更改的commit移到另被合并的分支所有commit之后。

使用场景

Merge
  • 假设你新建一个分支开发一个新特性。当你开发完新特性之后,你需要把新分支上的更改合并到master分支(不考虑新分支的所有更改commit,会产生一个 merge xxx to master 的commit)

Rebase

  • 继续假设情景,当你新建一个分支开发一个新特性,另外master 有更新了其他代码,这些代码与你开发的新特性无关,但是你仅仅是想 pull 线上 master 最新代码以避免长时间不合并master代码产生大量冲突。

此文只适合使用 Git 一定经验的开发者。

0 条评论
您想说点什么吗?