强迫症如何干净删除 commit 记录

简介: 强迫症如何干净删除 commit 记录

Git 彻底删除某个commit的方法

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

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

废话少说,直奔主题。

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

  1. git log

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

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

  1. git rebase -i commit

会出现如下界面:

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

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

  1. git log

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

  1. git push origin HEAD -force
相关文章
|
5月前
|
开发工具 git
在偶有几次git commit的时候出现大量额外文件选择提交?
在偶有几次git commit的时候出现大量额外文件选择提交?
44 1
|
5月前
|
开发工具 git
git 文件太大,清空历史commit
git 文件太大,清空历史commit
30 0
|
6月前
|
SQL 关系型数据库 数据库
记一次程序 Bug 导致数据删除的恢复过程
使用RDS、DMS进行数据恢复实践
949 0
|
11月前
|
开发工具 git
git命令回滚撤销自己的错误覆盖提交
git命令回滚撤销自己的错误覆盖提交
97 0
|
12月前
|
缓存 Shell 开发工具
研发中学习git(删除分支/合并提交/回滚/保存当前状态/撤销修改)
研发中学习git(删除分支/合并提交/回滚/保存当前状态/撤销修改)
119 0
SVN回滚代码时,提示冲突怎么办
SVN回滚代码时,提示冲突怎么办
66 0
SVN回滚代码时,提示冲突怎么办
|
开发工具 git
git操作日常记录学习
git操作日常记录学习
|
开发工具 git 索引
撤销暂存文件与任意切换文件版本-每天三分钟玩转Git (7)
撤销暂存文件与任意切换文件版本-每天三分钟玩转Git (7)
撤销暂存文件与任意切换文件版本-每天三分钟玩转Git (7)
|
存储 开发工具 git
git stash误使用drop删掉本地保存,再恢复代码一次记录
git stash误使用drop删掉本地保存,再恢复代码一次记录
861 0
git stash误使用drop删掉本地保存,再恢复代码一次记录
|
开发工具 git
git删除/撤销远已经push到程服务器上某次代码提交
git删除/撤销远已经push到程服务器上某次代码提交 场景:不小心把一次错误的代码push到远程服务器上的分支上,需要立即删除/撤销这次代码提交。
4184 0