前言
- 相信大家对
git commit
这个命令不会陌生,代码确认提交用的,可带commit 信息。 - amend:修正修订的意思
那么git commit --amend
这个命令就可以这么理解:对之前的commit 提交进行修改。事实上确实如此,不仅可以修改提交的内容,还可以修改commit 信息。
注意:这里的之前指最近的commit,而且没有push到远程。
修改提交的内容分为2种情况:
- 提交了代码之后,又有新的改动,不想创建两个commit
- 发现一个地方改错了,下次提交时不想保留上一次的记录
这时就可以使用git commit --amend
命令把新的内容添加到之前的commit里面,这个命令没有添加新的提交,而是用新提交取代了原始提交。
下面实例操作下试试:
-
查看提交历史,找到最近的一次提交记录(没有push):
-
在bash里输入wq退出log状态,修改一些文件,执行
git commit --amend
,这时bash里会出现以下内容:
”feat 新增函数“是上次提交的描述,下面是一些说明信息,告诉你提交了哪些文件等。 -
如果想修改描述信息,直接键入i进入编辑模式,下图是编辑完后的样子,新增函数修改为新增函数修改:
-
修改完成后,按下 Esc键退出编辑模式,键入
:wq
, 回车退出并保存修改,完成提交。下图是完成提交后的样子:
-
再git log 看一下提交日志:
可以看到提交描述信息改了,之前的提交记录也没了(被新的提交覆盖了)。
注意:commit id变了哦,第1步和第5步的commit id是不一样的哦。
扩展:
-
git commit --amend
会把暂存区的文件自动加入,可以使用-a把工作区的文件也一起加入。 - 可以使用
git commit --amend -m "提交描述"
修改comment。
参考链接:
git commit --amend 用法详解