如何从Git历史记录中撤销一个提交?

3

我很困惑如何解决我的问题。 我的git历史记录如下(提交ID):

commit: f8ae2 -> parent: 71bf9 
commit: 71bf9 -> parent: f67c0 
commit: f67c0 -> parent: 5b18a 
commit: 5b18a -> parent: 9e111 
commit: 9e111 -> parent: ce53b
commit: ce53b -> parents: f1b1a, 2055e
commit: f1b1a -> parent: 2055e
commit: 2055e

由于我是唯一在一个分支上工作的人,并且仍未合并到上游,因此我希望从历史记录中拉取或删除 commit: f1b1a。因此,我希望 commit: ce53b 只有 2055e 作为其父提交。

我该怎么做?任何建议都将不胜感激。谢谢。

1个回答

3
您可以使用交互式变基来实现这一点:运行以下命令:
git rebase -i --onto 2055e 2055e

然后删除你不想在历史记录中看到的每一行。

1
我发现 cherry-pick 也很有趣。http://gitready.com/intermediate/2009/03/04/pick-out-individual-commits.html - Hesam
@Hesam cherry-pick 可以将提交内容复制到另一个分支,但在这种情况下是否可行呢? - Vinay Veluri
1
@VinayVeluri,我先测试了cherry-pick,但是你说得对,它没有帮助我,然后我使用了Nils的建议。VIP已经打开,我删除了我想要的那行代码。Nils的建议才是答案。 - Hesam

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接