Git Rebase
安全 Rebase 手册 🚦
什么是 Rebase?
简单理解,rebase 就是把你当前分支上的提交“搬家”,放到目标分支(通常是 main
)的最新提交之后。
就像你写的代码排队等着接力跑,把你的改动“重新插队”到最新代码后面。
为什么要用 Rebase?
- 保持提交历史整洁、线性 🧹
- 方便回顾和审查代码 🔍
- 避免一堆杂乱的合并提交(merge commits) 🌀
但 Rebase 有啥坑?
- 频繁冲突,像“搬家拆迁”现场 🏚️
- 改历史可能导致别人分支失效 💥
- 中断没解决冲突,Git 状态乱成一锅粥 🍲
安全 Rebase 操作步骤 🛡️
1 | # 1. 确保工作区干净(无未提交改动) |
冲突解决小Tips 💡
- 打开冲突文件,Git 会标记冲突区域:
1 | <<<<<<< HEAD |
手动编辑成正确的代码,然后保存并 git add
冲突复杂时,多和同事沟通,确认改动意图
避免随意“全用某一方代码”,除非很确定
Rebase 常见误区 ⚠️
错误操作 | 可能结果 | 正确做法 |
---|---|---|
直接在未提交改动状态下 rebase | 被 Git 阻止或状态混乱 | 先提交或 stash 干净工作区 |
中断冲突解决直接退出 rebase | Git 状态半完成,分支混乱 | 解决冲突后 git rebase --continue |
多人对同一分支强制推送 | 代码历史被覆盖,别人代码丢失 | 约定分支管理和推送规则 |
画个流程图,帮你理解更清楚 🔄
1 | [开始] |
小结
保证工作区干净,提交或 stash 先行
rebase 遇冲突耐心解决,别着急放弃
rebase 完后测试,再强推到远程
团队统一流程,避免踩雷
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.
Comments