git删除中途某一次commit

本文介绍了一种使用Git撤销同事特定提交的方法,通过创建补丁、回退至指定提交并重新应用所需更改,最终实现了从版本库中移除不希望存在的提交。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

客服二期项目进入尾声了,周六测试人员反映某个模块界面有变,看了下,发现同事把下一期的提交放入了版本库了。当初太忙,没顾得上,只是说这期上线就上我这边的。今天抽空在网上找了下git相关资料,看能不能把代码库中的某个commit给删掉,找了相关资料,没有直接的方法,但是有曲线方法,就是要绕一下,下面就介绍下。

由于二期都是我开发的,只是中途有一个同事的commit,而且庆幸的是,没有涉及到我改的代码,那么接下来就好办了。

  1. 数据无价,新建个分支[git checkout -b patch],操作都在新分支来
  2. 查看历史记录[git log –oneline],发现自同事commit后我也提交了六个commit
  3. 打patch,自同事的那个commit到最后一个commit共七个[git format-patch -7,会生成七个patch,如 0001-.patch … 0007-.patch,其中0001-.patch为同事的那个patch]
  4. 回退到同事的那个commit之前的commit[git reset –hard commit-id]
  5. 把除了同事patch外的其他patch都应用上 [git am *.patch,事先把0001-.patch移到别处]
  6. 本次上线后,就可以把同事的那个patch给打上 [git am 0001-.patch]

说了几点,归纳起来,就是打补丁,把同事的那个补丁剔除,打上我的补丁就行了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值