Git如何从树中删除选定的提交?

问题描述:

可能重复:
Git: removing selected commits from repositoryGit如何从树中删除选定的提交?

我想移除选定commmit从线性提交树:

R-> A-> B-> C-> d - > HEAD

我想删除提交C及其中所做的所有更改。

+0

请注意,如果您满足于仅恢复提交而不删除它,则可以使用`git revert`。 – 2010-11-29 14:42:37

您可以使用interactive rebase操作执行此操作。有一个很好的描述它如何在该链接工作。

本质上讲,你将改写提交以便不用

R->A->B->C->D->HEAD 

你有

R->A->B->D'->HEAD' 

D'是,它引入了相同的变化有关D,而是基于B代替C。请注意,如果D引入了取决于C的更改,则可能需要解决冲突。