[英]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-branches
和rebase
但是我似乎无法让git做我想做的事情。
您可以进行交互式变基( rebase -i
)和压扁(在交互式提交会话中为s
),然后push -f
重写历史记录。
请注意,它将克隆此存储库的其他所有人破坏此存储库。 他们将不得不重新克隆,可能会丢失正在进行的工作。 因此,这是一种反模式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.