git删除中途某一次commit

来源:互联网 发布:苹果啪啪下载软件 编辑:程序博客网 时间:2024/04/29 12:11

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

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

1 0
原创粉丝点击