Git:如何删除所有与存储库中任何现有文件无关的提交



我正在寻找一个命令,该命令将删除所有未连接到现有文件的提交。

例如,如果我在两个月前XXX.txt删除文件(一次提交,一次文件删除),我想从 git 历史记录中删除该提交。

我认为这不是你应该使用 git 的方式。如果删除一些提交,则必须重写历史记录。如果删除文件,该文件仍存在于系统中,否则无法还原到较旧的状态。

问题是所有提交(历史记录)都是一棵树,并且彼此连接。从其中一些中,您已经建立了新的分支。因此,如果您想删除较旧的提交,您的历史记录不正确,您必须重写历史记录。

在某些情况下,您可以使用RebaseCherrypick。看看这里:

https://www.clock.co.uk/insight/deleting-a-git-commit

最新更新