我有这样的事情:
A - B - C
我修改了 C 并且我有:
A - B - D
而 C 在其他地方浮动,我如何从本地和远程存储库中删除 C?
没有指向 C 的指针。但我可以在 Github 中读取它的哈希值。如何强制垃圾收集并将其推送到远程?
请注意,强制推送不会删除远程 repo 上的提交,它只是引入新的提交并移动分支指针以指向它们。如果您担心用户直接通过 SHA1 访问错误提交,则必须删除 repo 并重新创建它。
谢谢。
在获得具体答案之前,您需要更具体地了解您的实际操作、参考(heads、“指针”)指向哪些提交等。
一般来说,如果没有 refs 指向您的旧提交 C,那么它将及时被垃圾收集。
如果您有指向 C 的 refs 并且您希望 C 消失,则需要删除这些 refs。当然,您需要了解这样做的潜在影响——即其他提交可能会消失。