当前位置: 首页 > news >正文

git仓库删除某个历史提交

目录

  • 问题
  • 情况1
  • 情况2

问题

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

情况1

如果是想要删除某个commitid之后的所有提交
那么git reset 可以满足你

git reset --hard 你要保留的最近的一次提交

比如
在这里插入图片描述

情况2

如果是想要删除commit记录中间的某次提交
那就需要用到git rebase (变基)命令

git rebase -i 要删除的提交的前一个commitid

比如
在这里插入图片描述
执行命令后会进入到 vim编辑界面,如下
在这里插入图片描述
上面pick commitid desc 的行显示的是自目标提交之后的所有提交,默认都是pick,你可以选择你不想要的分支,将pick 改为drop。
如果想要删除某几个分支,这里可以选择对应的行,都改为drop即可

vim 默认是预览模式,英文输入法,键入i,进入插入模式,就可以修改了
在这里插入图片描述
然后esc,退出插入模式
键入SHIFT+:
键入wq,(表示write&quit,保存退出)

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

git push --force origin feature/xxx

http://www.mrgr.cn/news/12041.html

相关文章:

  • eureka原理与实践简单介绍
  • 删除Vue2残留配置文件解决异常:Cannot find module ‘@vue/babel-plugin-transform-vue-jsx‘
  • bash代码片段snippets
  • Git Record
  • Tower for Mac Git客户端管理软件
  • LabVIEW反编译与源程序加密破解
  • 【docker compose 部署和 go 热部署工具fresh】
  • java之Math类介绍
  • AcWing854. Floyd求最短路
  • zabbix4.0 实现钉钉告警
  • ctfhub-web-SSRF
  • 设计模式 4 建造者模式
  • Linux模拟输入设备
  • EmguCV学习笔记 VB.Net 6.2 轮廓处理
  • python-opencv读写图像中文路径的问题
  • yd云手机登录算法分析
  • SpringBoot2:依赖管理与自动配置
  • 【网络安全】XML-RPC漏洞之盲SSRF
  • 一篇精通Ansible之playbook
  • P2709 小B的询问