Skip to content

Git merge vs. Git rebase

有什么区别?

当我们将更改合并从一个Git分支到另一个时,可以使用‘git merge’或‘git rebase’。下图展示了这两个命令的工作原理。

Git merge

在主分支中创建一个新提交G'。G'将主分支和特性分支的历史关联起来。

Git merge是非破坏性的,主分支和特性分支均不发生变化。

Git rebase

Git rebase将特性分支的历史移动到主分支的头部。它为特性分支中的每个提交创建新的提交E'、F'和G'。

rebase的好处在于它生成线性的提交历史

如果不遵循“Git rebase的黄金法则”,rebase可能会很危险。

Git rebase的黄金法则

Git Rebase 的黄金法则

永远不要在公共分支上使用它!