如何删除未使用的git commit remote?

问题描述 投票:0回答:3

最近,我使用git rebase -i --root master清理了git repo。我压缩了一些提交,编辑了一些提交,相应地设置了时间,最后我使用了git push --force-with-lease origin master将本地状态推送到远程。

这工作得很好,现在我的存储库也被清除了,如here所示,但是以某种方式我能够找到一个旧的提交哈希,当通过url明确搜索它时,我仍然能够查看不再使用here

所以我的问题是,是否以及如何从远程存储库中删除这些旧的提交/树?

有什么想法吗?

git commit rebase
3个回答
0
投票

您可能想检查this answer

TL; DR:

如果它们不属于分支或标签,将在一段时间后将其删除。


0
投票

如果要手动删除它们,则可以使用pickdrop命令。

pick commithash删除提交

例如:git rebase -i --root管理员选择2d224bc6cec9b33ae9b910dbef5efdd707625383下降2d224bc6cec9b33ae9b910dbef5efdd707625383


0
投票

“删除”提交实际上并没有删除:它停留了一段时间。除非您已经将哈希ID保存在某个地方,否则您将无法再[[find)。

您保存了哈希ID 3597386eaa550367e5531e4ec019f04e1d7e40df。更准确地说,您保存的GitHub URL包含哈希ID,然后将其提供给GitHub,以便他们可以在自己的侧面使用哈希ID,并且仍然可以找到提交(仍在此处)。

它将继续存在,直到不存在。确切地说,何时很难做到:Git有一个维护命令,可以清理未使用的提交。在自己的存储库副本中,可以按自己的时间表运行此维护命令。在GitHub上的复制中,您受

their

维护计划的支配。((如果真的很重要,您可以要求GitHub的人们进行早期清理。但是,您可以通过这种方式处理的大多数事情(例如,删除暴露了密码的提交)都太晚了。 “到实际完成时为止,因此几乎没有任何理由为此烦恼。)
© www.soinside.com 2019 - 2024. All rights reserved.