什么是 rebase:作用、风险与正确用法
副标题 / 摘要 rebase 可以让提交历史更线性,但也会重写历史。本文解释它的价值、风险与使用边界。 目标读者 希望保持整洁提交历史的开发者 团队协作中经常处理冲突的人 需要制定 Git 规范的技术负责人 背景 / 动机 合并分支会产生大量 merge commit,让历史难以阅读。 rebase 能把分支“挪到”最新主线之上,形成更清晰的线性历史。 核心概念 rebase:把分支的提交“搬到”新基线 历史重写:提交哈希会变化 交互式 rebase:整理、合并提交 实践指南 / 步骤 仅对本地未推送的分支使用 rebase 拉取最新主线再 rebase 解决冲突并继续 必要时用交互式 rebase 压缩提交 公共分支禁止 rebase 可运行示例 # 在 feature 分支上 git fetch origin git rebase origin/main # 若冲突 # 解决后: git add . git rebase --continue 解释与原理 rebase 会“重放”每一个提交到新基线上,因此提交哈希会改变。 这让历史更整洁,但也意味着共享分支上会引发冲突与丢失提交的风险。 常见问题与注意事项 rebase 与 merge 有什么区别? rebase 改写历史,merge 保留历史分叉。 ...