git仓库删除某个历史提交

目录

问题

如果我们在开发过程中,存在一些验证性的提交或者失误性的提交,那么这些提交我们不想要了,怎么办?

情况1

如果是想要删除某个commitid之后的所有提交

那么git reset 可以满足你

shell 复制代码
git reset --hard 你要保留的最近的一次提交

比如

情况2

如果是想要删除commit记录中间的某次提交

那就需要用到git rebase (变基)命令

shell 复制代码
git rebase -i 要删除的提交的前一个commitid

比如

执行命令后会进入到 vim编辑界面,如下

上面pick commitid desc 的行显示的是自目标提交之后的所有提交,默认都是pick,你可以选择你不想要的分支,将pick 改为drop。
如果想要删除某几个分支,这里可以选择对应的行,都改为drop即可

vim 默认是预览模式,英文输入法,键入i,进入插入模式,就可以修改了

然后esc,退出插入模式
键入SHIFT+:
键入wq,(表示write&quit,保存退出)

最后,强行推送到远端分支即可

shell 复制代码
git push --force origin feature/xxx
相关推荐
Э时间行者于我2 小时前
git同时删除多个分支
git
我的golang之路果然有问题9 小时前
给git配置SSH(github,gitee)
经验分享·笔记·git·学习·gitee·ssh·github
漫步企鹅10 小时前
[Git] Git Stash 命令详解
git·git push·git pull·git commit·git pull rebase
船长@Quant12 小时前
协作开发攻略:Git全面使用指南 — 第二部分 高级技巧与最佳实践
git·版本控制·源代码管理·协作开发
用户126538387051214 小时前
github 和 gitee 配置问题及相关问题解决
git·github
极小狐15 小时前
极狐GitLab Git LFS 速率限制如何设置?
运维·git·ssh·gitlab·github
极小狐15 小时前
如何解决极狐GitLab 合并冲突?
人工智能·git·机器学习·gitlab
一袋米扛几楼9815 小时前
【GIT】github中的仓库如何删除?
git·github
hjm470219216 小时前
GIT 使用小记
git
程序猿chen1 天前
JVM考古现场(二十五):逆熵者·时间晶体的永恒之战(进阶篇)
java·jvm·git·后端·程序人生·java-ee·改行学it