git commit --amend

前言

  1. 相信大家对git commit 这个命令不会陌生,代码确认提交用的,可带commit 信息。
  2. amend:修正修订的意思

那么git commit --amend这个命令就可以这么理解:对之前的commit 提交进行修改。事实上确实如此,不仅可以修改提交的内容,还可以修改commit 信息。
注意:这里的之前指最近的commit,而且没有push到远程

修改提交的内容分为2种情况:

  1. 提交了代码之后,又有新的改动,不想创建两个commit
  2. 发现一个地方改错了,下次提交时不想保留上一次的记录

这时就可以使用git commit --amend命令把新的内容添加到之前的commit里面,这个命令没有添加新的提交,而是用新提交取代了原始提交。

下面实例操作下试试:

  1. 查看提交历史,找到最近的一次提交记录(没有push):


    新增函数
  2. 在bash里输入wq退出log状态,修改一些文件,执行git commit --amend,这时bash里会出现以下内容:

    新增函数commit

    ”feat 新增函数“是上次提交的描述,下面是一些说明信息,告诉你提交了哪些文件等。

  3. 如果想修改描述信息,直接键入i进入编辑模式,下图是编辑完后的样子,新增函数修改为新增函数修改:


    insert
  4. 修改完成后,按下 Esc键退出编辑模式,键入:wq, 回车退出并保存修改,完成提交。下图是完成提交后的样子:

    git commit --amend

  5. 再git log 看一下提交日志:

    git log

    可以看到提交描述信息改了,之前的提交记录也没了(被新的提交覆盖了)。
    注意:commit id变了哦,第1步和第5步的commit id是不一样的哦。

扩展:

  1. git commit --amend会把暂存区的文件自动加入,可以使用-a把工作区的文件也一起加入。
  2. 可以使用git commit --amend -m "提交描述" 修改comment。

参考链接:
git commit --amend 用法详解

你可能感兴趣的:(git commit --amend)