Merge 保留完整历史,适合公共分支;Rebase 重写历史,适合本地分支整理。黄金法则:不要对已推送的公共分支执行 rebase。
Merge vs Rebase
| 特性 | Merge | Rebase |
|---|---|---|
| 历史 | 保留分支历史,生成合并提交 | 重写历史,形成直线 |
| 安全性 | 安全,不改变已有历史 | 有风险,改变提交 ID |
| 冲突 | 一次性解决 | 每个提交都可能需解决 |
| 适用 | 公共分支 | 本地/特性分支 |
注意事项
不要在 PR 前 merge 主分支:
- 污染个人分支历史
- 增加最终 rebase 难度
- 不利于代码审查
最佳实践
| |
参考资料
[[git merge 和 rebase 的详细流程和对分支图的影响]]
张芷铭的个人博客
Comments