git修改已经提交的commit
git修改已经push过的commit信息
在使用git提交代码时会出现提交信息写错的情况,并且已经push到远程服务器上了,此时修改起来就比较麻烦
步骤
使用git log命令查看历史记录:会出现最近提交记录,并且是按时间倒序展示的
$gitlog
使用git rebase -i HEAD~5确定要修改的commit
$gitrebase -i HEAD~5
其中,HEAD~5表示最近的5个提交记录,也可以改为3,查看最近的3个记录
pick 1d316b0 1
pick f429786 2
pick 880cfbc 3
pick c55cf56 4
pick d10fd07 5
左边第一列表示命令(command),中间一列表示commit id,最右边一列是之前提交的message,排序是按照时间顺序,第一行是最早提交的
找到需要修改的commit,按i进入编辑模式,修改前面的pick为edit,然后ESC、:wq保存并退出
注意:此时还不用修改message
假设需要修改的是第3条和第4条
pick 1d316b0 1
pick f429786 2
edit 880cfbc 3
edit c55cf56 4
pick d10fd07 5
轮流使用git commit --amend和git rebase --continue修改每个edit的commit信息
git commit --amend:开始对某次commit信息进行编辑,保存并退出
git rebase --continue:继续下一次修改,直到所有的edit都修改完出现Successfully rebased and updated xxxx信息为止
git push -f:强制推送到远程
切记一定要加-f,否则edit的commit会添加到commit后面,而不是更新原commit
若修改的是最新一次的commit信息:输入git commit --amend后,使用vim来编辑
i进入编辑模式,esc退出编辑模式,:wq保存
原文链接
https://www.csdn.net/tags/MtTaUg4sMDc5NTEtYmxvZwO0O0OO0O0O.html
https://blog.csdn.net/u014734886/article/details/106426200/