如何撤消'一个git提交,同时保留所有其他人

时间:2015-02-11 21:12:30

标签: git

我有很多提交的git repo。可以说我们从过去到现在都有这些提交:

  1. 小改动
  2. 大功能添加
  3. 小改动
  4. 小改动
  5. 现在我们已经确定,出于商业原因,应删除大功能,但我想保留自此以来所做的更改。

    我最好能做到这一点吗?

2 个答案:

答案 0 :(得分:6)

git-rebase对此有点矫枉过正,你失去了历史。

请改用:

$ git revert <hash of commit 2>

您的历史记录将显示您已提交功能,然后稍后将其删除。

答案 1 :(得分:0)

执行交互式rebase:

$ 'git rebase -i HEAD~4'

然后从列表中删除您不想要的那个。请参阅此答案:https://stackoverflow.com/a/13061212/1024740