Git – 修改(amend)最新提交

你刚提交完,突然想起提交信息写的不对,或者其他地方什么不对,需要修改最新提交,这是开发中的常见场景。

要修改最新提交,可以再重新提交一次,但指定--amend选项,这样新的提交会替换老的提交,命令如下:

git commit --amend

让我们尝试一下。

  1. 切换到dev分支,执行命令git checkout dev
  2. 显示最新提交内容,执行命令git show head
    Kevin@qikegu MINGW64 /g/project/git-demo (dev)
    $ git show head
    commit 870dcae3012240e5da3ff96a8212741073096d50 (HEAD -> dev)
    Author: kevinhwu <kevinhwu@qikegu.com>
    Date:   Tue Aug 20 12:22:29 2019 +0800
    
    add test2.txt
    
    diff --git a/test2.txt b/test2.txt
    new file mode 100644
    index 0000000..807e850
    --- /dev/null
    +++ b/test2.txt
    @@ -0,0 +1,2 @@
    +test2.txt
    +
    
    
  3. 让我们修改一下提交信息,执行命令git commit -m "add test2.xt file" --amend。如果你需要修改文件,类似地修改完后,重新提交带--amend参数。
    Kevin@qikegu MINGW64 /g/project/git-demo (dev)
    $ git commit -m "add test2.xt file" --amend
    [dev 140c4cc] add test2.xt file
    Date: Tue Aug 20 12:22:29 2019 +0800
    1 file changed, 2 insertions(+)
    create mode 100644 test2.txt
    
    
  4. 使用git log查看历史
    Kevin@qikegu MINGW64 /g/project/git-demo (dev)
    $ git log
    commit 140c4cc044c0154944a1fbf3fac9ddcc4753ca4f (HEAD -> dev)
    Author: kevinhwu <kevinhwu@qikegu.com>
    Date:   Tue Aug 20 12:22:29 2019 +0800
    
        add test2.xt file
    
    commit de35112d50b2f59b640d2b395d1315f0195cf7ec
    Author: kevinhwu <kevinhwu@qikegu.com>
    Date:   Mon Aug 19 20:48:34 2019 +0800
    
        add 'abcde' to test1.txt
    
    commit 0d22e8a603dec5d9c90d142dd301ac08c8df4a10
    Author: kevinhwu <kevinhwu@qikegu.com>
    Date:   Mon Aug 19 18:27:46 2019 +0800
    
        add text to test1.txt
    
    ...
    
    

可以看到,原来的最后提交870dcae3012240e5da3ff96a8212741073096d50不见了,被新的提交140c4cc044c0154944a1fbf3fac9ddcc4753ca4f替换。

可以使用git show head查看一下提交内容,提交消息(或其他改过的地方)被修改了,其他没改过的地方(如作者,日期等等)保持不变。

修改日期,作者,可以在提交时指定参数:--author={AUTHOR}--date={DATE}



浙ICP备17015664号 浙公网安备 33011002012336号 联系我们 网站地图  
@2019 qikegu.com 版权所有,禁止转载