使用场景:
我add并commit了一个文件A到本地仓库,注释是“修复a功能”,但是过了一会儿发现之前的文件A并没有修改完,但是我又不想重新再生成新的提交记录。
这时就可以使用 git commit --amend了,按下列步骤:
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里执行会有问题,不能编辑文本)
出现文本编辑器;如果需要修改提交注释,直接输入 i 进入编辑模式(左下角),然后我一般直接按 esc 再输入 !wq 退出编辑
自动回到commit统计界面
查看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