繁体   English   中英

如何完全删除大量的git commit?

[英]How do I completely remove a large swath of git commits?

我有一个看起来像这样的仓库:

A--B--C------F--G   H--I--J--K---------O--P
       \    /                 \       /
        D--E                   L--M--N

我想消除提交A..G。 我不在乎删除特定的文件或文件夹,我不想还原自己的提交,我希望这些提交不再存在。 我尝试过各种filter-branchesrebase但是我似乎无法让git做我想做的事情。

您可以进行交互式变基( rebase -i )和压扁(在交互式提交会话中为s ),然后push -f重写历史记录。

请注意,它将克隆此存储库的其他所有人破坏此存储库。 他们将不得不重新克隆,可能会丢失正在进行的工作。 因此,这是一种反模式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM