高级 Git 历史记录编辑:修改提交与交互式变基
深入了解 `git commit --amend` 和 `git rebase -i` 等强大的 Git 命令,以优化提交信息、压缩提交并清理项目历史记录。
在 Git 中,能够修改历史记录是一项极其强大的技能。无论是为了修正拼写错误的提交信息,还是为了在合并到主分支前整理杂乱的提交,掌握 git commit --amend 和 git rebase -i 都能让你的版本控制流程更加专业。
使用 git commit --amend 修改最近一次提交
如果你刚刚提交了代码,却发现漏掉了一个文件或者提交信息写错了,--amend 是最简单的修复方式。
# 修改提交信息
git commit --amend -m "新的提交信息"
# 将漏掉的文件添加到最近一次提交中
git add forgotten_file.js
git commit --amend --no-edit
使用 git rebase -i 进行交互式变基
交互式变基允许你对一系列提交进行重写。你可以通过以下命令启动:
# 针对最近的 3 次提交进行交互式变基
git rebase -i HEAD~3
执行后,你将看到一个编辑器列表,你可以通过修改命令来操作提交:
pick:保留该提交。reword:保留提交内容,但修改提交信息。squash:将该提交合并到前一个提交中。drop:删除该提交。
总结
通过这些工具,你可以保持项目历史的整洁。但请记住:永远不要在公共分支(如 main 或 develop)上执行变基操作,这会破坏其他协作者的历史记录。