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 的黄金法则
永远不要在公共分支上使用它!