git删除中途某一次commit

客服二期项目进入尾声了,周六测试人员反映某个模块界面有变,看了下,发现同事把下一期的提交放入了版本库了。当初太忙,没顾得上,只是说这期上线就上我这边的。今天抽空在网上找了下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]

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

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值