小知识 | 一条命令行修改git最后一次提交

210 阅读1分钟

在小黑刚接触 git 不久的时候,总是会被 git 上细枝末节的小问题折腾的欲仙欲死,欲罢不能,欲哭无泪,比如一不留神漏提了一个文件,commit 信息写错字……

20200923-115248-0964.png

对小黑这种情况来说,修改最近一次提交可能是所有修改历史提交的操作中最常见的一个。 对于最近一次提交,往往想做两件事情:简单地修改提交信息,或者通过添加、移除或修改文件来更改提交实际的内容。

修改提交信息

如果,只是想修改最近一次提交的提交信息,那么很简单:

$ git commit --amend

上面这条命令会将最后一次的提交信息载入到编辑器中供你修改。 当保存并关闭编辑器后,编辑器会将更新后的提交信息写入新提交中,它会成为新的最后一次提交。

修改提交实际内容

另一方面,如果想要修改最后一次提交的实际内容,那么流程很相似:首先作出你想要补上的修改, 暂存它们,然后用 git commit --amend 以新的改进后的提交来 替换 掉旧有的最后一次提交,

使用这个技巧的时候需要小心,因为修正会改变提交的 SHA-1 校验和。 它类似于一个小的变基——如果已经推送了最后一次提交就不要修正它。

参考 git 文档