修改最新的commit的message
有时候,在创建了一个commit以后,发现这个commit的message描述的不是很准确,而且是最近的一次commit。
具体步骤
执行命令:
git commit --amend
例如:
wujiayudeMacBook-Pro:docs wjy$ git log -1
commit 26ff628b237cedd6877478d565a02d2f99c806fa (HEAD -> master)
Author: wujiayu <jiayu_wu_2019@163.com>
Date: Thu Sep 26 20:41:39 2019 +0800
git的demo信息i
wujiayudeMacBook-Pro:docs wjy$
这个的commit的message 是git的demo信息i,多写了一个"i",此时需要修改这次commit的信息,就可以使用命令:
git commit --amend
在执行了命令以后,就会出现以后界面:
此时就可以修改commit的message了(修改使用按键和vi/vim一样)
i键进行修改,修改完成后->Esc键->:wq ->Enter
然后就可以看到修改后的message了
修改之前commit的message
先看下最近3次的commit信息,执行命令:
git log -3
此时把日期为 Thu Sep 26 20:58:30 2019 +0800 这条commit的信息修改为“git的demo信息2“
执行命令:
git rebase -i commitId
这里的commitId是需要被变更的 commit message的上一次提交的commitId;此时就是 5411c8a40f167b44aa99e809c2842d84e2e222b7
所以此时执行变基操作:
git rebase -i 5411c8a40f
接着就到了一个交互式的界面上
注意,这里使用的命令是pick(直接使用这个commit),但是这不是理想的结果,在这里使用reword (commit不变-这个commit的变更的文件是不变的,只是修改message)
修改如下:
对于下面的 git的demo信息-3 的这个commit不做修改,所以使用命令 pick,然后将这个文件进行保存退出。
此时进入下一个交互界面:
此时再进行修改message的操作
然后将这个文件进行保存退出,然后就看到如下的提示信息,说明修改成功:
这里git分离了头指针
[detached HEAD 45d60c5] git的demo信息-2
然后进行修改message的操作,然后再更新头指针的指向
updated refs/heads/master.
由于更新了头指针的指向,所以后面的commitId会有变化,但是对于文件的变化是没有改的。