目录

搞懂 Git Rebase 和 Merge 的区别

搞懂 Git Rebase 和 Merge 的区别

这个问题几乎困扰过每一个开发者,今天来讲清楚。

Merge

git checkout main
git merge feature-branch

会创建一个合并提交。历史记录清晰展示了两条分支在某个节点汇合。适合共享分支。

Rebase

git checkout feature-branch
git rebase main

将你的提交"移植"到 main 最新节点之后。历史记录看起来是线性的,就像你是在 main 更新后才开始做功能一样。

什么时候用哪个?

场景推荐方式
共享分支(main、dev)merge
个人功能分支rebase
提 PR 之前整理提交rebase
PR 合并后无所谓

黄金原则

永远不要对别人正在用的分支做 rebase。 重写共享历史会把所有人搞乱。