你刚提交完,突然想起提交信息写的不对,或者其他地方什么不对,需要修改最新提交,这是开发中的常见场景。
要修改最新提交,可以再重新提交一次,但指定--amend
选项,这样新的提交会替换老的提交,命令如下:
git commit --amend
让我们尝试一下。
- 切换到
dev
分支,执行命令git checkout dev
- 显示最新提交内容,执行命令
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 +
- 让我们修改一下提交信息,执行命令
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
- 使用
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}