1. git revert
通过git revert commit_id,撤销指定commit,然后push到远程分支,即可撤销指定commit的修改,并新增一个revert的提交记录。
2. 撤销HEAD的修改并删除提交记录
git reset --hard HEAD^ # 撤销最近一次的修改
git push --force # 同步到远程分支,则远程分支最近一次的提交就会被撤销掉,并且提交记录也被删除
如果只是修改提交信息:
git commit --amend # 修改提交信息
git push --force # 远程分支的提交信息将被更新为修改之后的结果
3. 撤销某次的修改并删除提交记录
git rebase -i c4b15b2^ # 要删除的提交记录哈希值c4b15b2
进入操作界面:
[外链图片转存中…(img-8a9sxCIL-1722059745320)]
将待删除的提交前的命令改为drop:
[外链图片转存中…(img-yLLL9ofU-1722059745321)]
然后执行git rebase --continue
,不出现冲突的情况下就可以直接git push -f
到远程分支,这样对应的历史提交就被删除了。否则就需要解决冲突之后再提交,但是此情况会产生一个新的commit。