【Git命令】git commit --amend

使用场景:
我add并commit了一个文件A到本地仓库,注释是“修复a功能”,但是过了一会儿发现之前的文件A并没有修改完,但是我又不想重新再生成新的提交记录。

这时就可以使用 git commit --amend了,按下列步骤:

  • git log 查看提交记录
Administrator@DESKTOP-MDNUUEN MINGW64 /e/workspace-gitee/simple-curd-generator (master)
$ git log
commit 35f07fbff58c09955993a1159389f328a1ba7fb5 (HEAD -> master, origin/master, origin/HEAD)
Author: chenyang .com>
Date:   Sat Sep 3 11:20:32 2022 +0800

    update  AbstractConvertor

看到最后的commit是:

35f07fbff58c09955993a1159389f328a1ba7fb5
  • 修改需要修改的内容,然后提交到缓存区
Administrator@DESKTOP-MDNUUEN MINGW64 /e/workspace-gitee/simple-curd-generator (master)
$ git add .

Administrator@DESKTOP-MDNUUEN MINGW64 /e/workspace-gitee/simple-curd-generator (master)
$ git status
On branch master
Your branch is up to date with 'origin/master'.

Changes to be committed:
  (use "git restore --staged ..." to unstage)
        modified:   generator/src/test/java/com/xx/Generator.java

  • git在bash窗口里执行 git commit --amend (在idea的terminal里执行会有问题,不能编辑文本)
    【Git命令】git commit --amend_第1张图片

  • 出现文本编辑器;如果需要修改提交注释,直接输入 i 进入编辑模式(左下角),然后我一般直接按 esc 再输入 !wq 退出编辑
    【Git命令】git commit --amend_第2张图片

  • 自动回到commit统计界面
    【Git命令】git commit --amend_第3张图片

  • 查看commit历史log

Administrator@DESKTOP-MDNUUEN MINGW64 /e/workspace-gitee/simple-curd-generator (master)
$ git log
commit fe811defffb0eb4f537a1a53ab701da9f569ae9c (HEAD -> master)
Author: chenyang .com>
Date:   Sat Sep 3 11:20:32 2022 +0800

    update  AbstractConvertor

可以发现commit的id变了(生成了新的commit),变成了:

fe811defffb0eb4f537a1a53ab701da9f569ae9c

但是注释没有变,没有新增commit,只是修改了上一个commit

  • 执行git push 推送到远程仓库
    【Git命令】git commit --amend_第4张图片

你可能感兴趣的:(Git,git,github)