【发布时间】:2015-04-12 10:16:26
【问题描述】:
我有一个包含许多提交的 git 存储库。假设我们从过去到现在都有这些提交:
- 小改动
- 大功能添加
- 小改动
- 小改动
现在我们已经确定出于商业原因应该删除这个重要功能,但我想保留此后所做的更改。
我怎样才能做到最好?
【问题讨论】:
-
我通常为此使用“git rebase -i HEAD~4”,删除不需要提交的行,然后就可以了。
标签: git
我有一个包含许多提交的 git 存储库。假设我们从过去到现在都有这些提交:
现在我们已经确定出于商业原因应该删除这个重要功能,但我想保留此后所做的更改。
我怎样才能做到最好?
【问题讨论】:
标签: git
执行交互式变基:
$ 'git rebase -i HEAD~4'
然后从列表中删除您不想要的那个。看到这个答案:https://stackoverflow.com/a/13061212/1024740
【讨论】:
git-rebase 对此太过分了,你会失去历史。
改用这个:
$ git revert <hash of commit 2>
然后,您的历史记录将显示您提交了一项功能,然后将其删除。
【讨论】:
git revert。如果您想恢复合并的更改,您必须使用git revert -m 1 <hash of commit 2>。
git revert。