在小黑刚接触 git 不久的时候,总是会被 git 上细枝末节的小问题折腾的欲仙欲死,欲罢不能,欲哭无泪,比如一不留神漏提了一个文件,commit 信息写错字……
对小黑这种情况来说,修改最近一次提交可能是所有修改历史提交的操作中最常见的一个。 对于最近一次提交,往往想做两件事情:简单地修改提交信息,或者通过添加、移除或修改文件来更改提交实际的内容。
修改提交信息
如果,只是想修改最近一次提交的提交信息,那么很简单:
$ git commit --amend
上面这条命令会将最后一次的提交信息载入到编辑器中供你修改。 当保存并关闭编辑器后,编辑器会将更新后的提交信息写入新提交中,它会成为新的最后一次提交。
修改提交实际内容
另一方面,如果想要修改最后一次提交的实际内容,那么流程很相似:首先作出你想要补上的修改, 暂存它们,然后用 git commit --amend 以新的改进后的提交来 替换 掉旧有的最后一次提交,
使用这个技巧的时候需要小心,因为修正会改变提交的 SHA-1 校验和。 它类似于一个小的变基——如果已经推送了最后一次提交就不要修正它。
参考 git 文档