Akrm Al-Hakimi 针对开发者社区中普遍存在的对 git rebase -i 的恐惧心理,撰写了一篇消除神秘感的实战指南。文章的核心主张简洁有力:rebase -i 只是打开一个文本文件——一份可以随时 --abort 的「计划」而非不可逆的操作。通过修改文件中的指令(pick/reword/squash/fixup/drop),开发者可以重排提交顺序、合并微小修改、修正提交信息。文章同时揭示了rebase 的真正工作原理:它不修改旧提交,而是创建全新的提交对象并移动分支指针,旧提交在 reflog 和垃圾回收前始终可以恢复。实用的安全措施包括 git branch backup-before-rebase 和优先使用 --force-with-lease 而非 --force。
git rebase --abort 安全退出。git reset --hard HEAD@{4} → 恢复如初。git branch backup-before-rebase——给变基前的状态起个名字。--force-with-lease 而非 --force:拒绝覆盖他人推送的新提交,更安全。