如何在git中删除孤儿提交?

我有本地提交,不在任何我想删除的分支。
我不想修改它们,我真的想删除它们,并且松开与这些提交相关的所有内容。

他们是这样做的命令吗?

到目前为止,我已经尝试了许多建议的交互式rebase,但它只是移动提交,它不会删除它们。我也尝试使用reflog delete,但是我无法弄清楚如何将特定的提交标识传递给命令。

这是工作树:

o [master] Commit #6  
|  
o Commit #5  
|  
| o Commit #4  
|/  
o Commit #3  
|  
o Commit #2  
|  
o Commit #1  

我想要物理删除提交#4。

如果提交没有引用任何东西,那么它将被git的垃圾收集,及时删除。

如果要手动强制,请使用git gc –prune = now –aggressive

翻译自:https://stackoverflow.com/questions/7907372/how-to-hard-delete-an-orphan-commit-in-git

转载注明原文:如何在git中删除孤儿提交?