工作中,经常出现提交完代码之后,发现提交的代码还有遗漏的地方没改或者改错了。如果连续的提交,都是同一个需求改动的页面代码,就会导致连续提交记录中有很多无用的提交记录,显得git记录很乱。此时提交就不想保留上一次的提交记录。
还有时,提交完代码之后,发现自己的提交记录描述不正确。
遇到上面这两种情况,此时代码已经提交了,但是还没推送。
那么可以使用如下指令重新追加提交,并只保留最新的提交记录:git commit --amend
- 使用完该指令后会跳出一个编辑页面,按
i
进入编辑,修改顶端的提交记录描述后,按esc
退出编辑模式,输入:wq
保存。此时原先的commit记录会被替换成新的记录,原先的commit ID也会被替换成新的ID。
详细过程:
- 首先查看一下未提交前的记录
git log --oneline
,然后修改代码,例如把div中原先的内容11111改成git commit amend第一次,并把修改后的文件加入暂存区git add .
- 把暂存区的代码提交后,查看第一次提交后的git记录
- 修改代码,代码添加到暂存区后,再使用
git commit --amend
指令,按i
进入修改提交描述,按esc
退出,并输入:wq!
保存
- 保存成功后提交成功
- 再次查看git记录,此时最新的提交描述已经变成修改后的
- 推送代码,git仓库中最新的提交记录只有第二次修改后的,并且代码也是第二次修改后的