1、修改最后一次的 log日志:
git commit --amend
弹出终端vim。修改完后,按esc,输入 :wq保存。
没有push到远端情况的,这里就可以了。
提交到了远端的,执行:
git push --force
2、修改历史上某次,或某一些次log日志:
git rebase -i HEAD~3
3是最近的第几次。
弹出终端vim。在需要修改的记录前,pick 改成reword,然后,按esc,输入 :wq保存。
再次自动打开终端的编辑,本次,修改日志内容,按esc,输入 :wq保存。
(这里除了可以修改log日志,还支持删除、调换顺序、合并多次提交。比如pick改成drop,就是删除记录)
git rebase --continue
git push --force
这时候会出现超前xx版本,落后xx版本
执行一下
git pull
可以了。
历史提交记录,内容没变,时间变成了今天
只是如果分支被其他用户也checkout过,那么rebase修改分支提交顺序,或者删除某提交历史记。都会影响对方的分支,出现 超前xx分支、落后xx分支的情况。
这种情况,如果有修改,需要先暂存。删除这种分支。重新拉取,再应用暂存。
参考文章:
https://blog.csdn.net/weixin_30268921/article/details/101103160
网友评论