提交的整理与优化:交互式变基(rebase -i)重塑提交历史
昨天深夜调试一个驱动模块时,又遇到了那个经典问题:某个功能昨天还好好的,今天突然就崩了。git blame一查,发现罪魁祸首是三个月前某次提交里的几行调试代码——它们本不该进入主线,却混在了一个“修复内存泄漏”的提交里。这种“一锅炖”的提交历史,让我们排查问题时多花了整整两小时。
为什么需要整理提交历史?
很多团队把 Git 当成“代码备份工具”,提交信息写得像流水账:“修改了文件”“修复了 bug”“又改了一次”。时间一长,历史记录变成一团乱麻。好的提交历史应该是清晰的纪录片:每个提交解决一个明确问题,提交信息像注释一样说明意图。这不仅是为了好看,更是为了日后调试、回溯、代码审查时能快速定位。
交互式变基登场
git rebase -i就是你的历史编辑工具箱。它不改变代码最终状态,只重新编排提交的呈现顺序和内容。假设我们在feature分支上有五个提交:
gitlog--oneline-5# e3f8a7d 增加调试打印</