高级 Git 历史记录编辑:修改提交与交互式变基

深入了解 `git commit --amend` 和 `git rebase -i` 等强大的 Git 命令,以优化提交信息、压缩提交并清理项目历史记录。

在 Git 中,能够修改历史记录是一项极其强大的技能。无论是为了修正拼写错误的提交信息,还是为了在合并到主分支前整理杂乱的提交,掌握 git commit --amendgit 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)上执行变基操作,这会破坏其他协作者的历史记录。