从分支中删除特定的提交

时间:2020-07-28 02:03:51

标签: git github branch

在推送后如何从分支中删除特定的提交?

假设我在名为v0.1的远程存储库中有这样的历史(从最新到最旧),并且我想从765th4中删除v0.1,而不从其他分支中删除它。我该如何实现?

2fsf34 
32t6e0
54r346
765th4
9r34gg

谢谢!

1 个答案:

答案 0 :(得分:2)

这里最安全的选择是实际上从您的765th4分支中删除v0.1提交,而是使用{{ revert 1}}。尝试以下命令:

git revert

如果在执行上述操作后运行# from v0.1 branch git revert 765th4 ,您会注意到对git log分支进行了 new 提交,因此历史记录现在看起来像:

v0.1

这里abc123 2fsf34 32t6e0 54r346 765th4 9r34gg 是还原提交的SHA-1,它现在位于abc123分支的HEAD上。该提交功能上会撤消v0.1提交所引入的所有内容。这与完全删除765th4提交具有相同的效果,而没有潜在的不良影响。

如果您确实想删除765th4提交,则可以进行交互式重新配置。但是,通常不建议您将其推送到远程分支。原因是,重写历史记录可能会给您本人以外可能已经在使用765th4分支的任何人带来问题。因此,请坚持使用v0.1作为此处的简单和安全选项。