Git 彻底删除某个commit的方法

Author:闫玉良
如果因为一些原因,需要删除某个错误的 commit ,而且需要干净的操作,彻底让其消失,不留痕迹,该如何操作?

更多精彩文章请关注公众号『Pythonnote』或者『全栈技术精选』

我向仓库提交了一个大文件,大约 300M,push 失败(因为 git 最大能提交 100M 文件),删除本地文件不行,尝试过修改配置文件,解除 git 只能提交小于 100M 文件的限制,但是未起作用。只能通过删除包含提交此文件的 commit 解决。

废话少说,直奔主题。

1.首先输入如下命令查看历史提交的 commit:

1
git log

重要的是记下要删除的 commit 的上一条 commit 的 commit号。如下图,如果要删除箭头所指的 commit,需要记录红框中的 commit号:

gitlog

2.然后执行如下的命令:

1
git rebase -i commit号

会出现如下界面:

gitrebase

3.然后将要删除的 commit号 的前缀 pick 改为 drop

4.然后可以通过如下命令再次查看是否已经删除:

1
git log

5.最后通过如下命令将现在的状态推送到远程仓库即可:

1
git push origin HEAD -force
打赏
  • 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!
  • 页面访问量: 独立访客访问数:
  • 更多精彩文章请关注微信公众号『全栈技术精选』,id 为『Pythonnote』

请我喝杯咖啡吧~

支付宝
微信