32

git cherry-pick 有有效的反面吗?例如,前一段时间,由于业务流程尚未准备好,我不得不进行一些临时更改以禁用一组功能。现在该业务流程已准备就绪,我想简单地删除提交及其影响。虽然我当然可以只查看这些提交的差异并找出所有需要完成的事情,但如果知道这些历史上的提交是否可以在不重置和丢失之后的所有内容的情况下取消完成,将会很有趣他们。

4

2 回答 2

31

git revert不是相反的git cherry-pickgit rebase -i是。

git revert添加一个新的提交,删除一个或多个旧提交所做的更改。它不会删除原始提交。

git rebase -i将向您显示当前提交的提交列表,返回到不在上游分支上的最后一次提交。然后,您可以编辑、重新排列、更改提交消息,甚至从该列表中删除提交。

请记住,如果您已经推送了要删除的提交,则需要与您的队友一起确定删除它们,因为一旦您推送带有已删除提交的新历史记录,他们就必须进行调整。

于 2013-02-08T23:30:04.593 回答
24

撤消另一个提交所做更改的自动方法是git revert.

于 2013-02-08T19:20:16.940 回答