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
相关推荐
weixin_4334176713 小时前
TortoiseGit推送到远端,如何配置
windows·git
Hey_Coder1 天前
【Git 常用命令速查表(按功能分类)】
git·git基础命令·git命令速查表·git 常用命令
colman wang1 天前
Git指令(Mac)
git·macos
cyforkk1 天前
Git 合并分支提示 Already up to date 的真实原因
git
●VON2 天前
HarmonyKit | 移动端开发者工具类应用的现状与趋势
git·华为·性能优化·harmonyos·鸿蒙
●VON2 天前
HarmonyKit | 鸿蒙开发协作:如何为 HarmonyKit 贡献一个新的工具
git·华为·harmonyos·鸿蒙
枕星而眠2 天前
Git仓库基础用法
大数据·git·后端·elasticsearch·全文检索
梦想三三2 天前
Git与GitHub基础入门:从零开始掌握版本控制与代码托管(完整图文教程)
人工智能·git·elasticsearch·github
Joy-鬼魅2 天前
Git常用操作
git
流浪0012 天前
Git篇(三):吃透远程协作:SSH 密钥、分支、标签全流程实战指南
运维·git·ssh