我注意到在执行了一些 git 操作后,一些提交丢失了,正如预期的那样,但在 github 上仍然可见并出现错误: This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
重现我所做的:
A -> B -> C
A
B
和C
作为B(mod)
和C(mod)
A -> B(mod) -> C(mod)
B
并且C
无法在代表历史记录中看到,但在 github 上可以看到上面指定的错误(我可以看到的示例链接:https://github.com/user/rep/commit/B;
而https://github.com/user/rep/commit/B(mod)出现了预期的修改)
B
和C
不?如果是,我该如何删除它们/清理代表?谢谢
分支或标签是适用于单个提交的名称。该提交是一个命名提交。使提交保持活动状态的是它是命名提交的父项,或父项的父项,或... [等等]。
好的。将你的分支重置回 A 意味着分支名称现在适用于 A,而不是 B 或 C。所以没有什么可以让 B 或 C 继续存活。
但它们也不会立即被摧毁。策略是这样的提交一直保留到它们被垃圾收集为止。如果您使用 ,reflog
您会发现它们仍然存在于您的本地机器上。这更像是在您的计算机上,您不只是删除文件;您将文件放入垃圾箱,稍后清空垃圾箱。好吧,Git 最终会清空它的垃圾。
您现在可以通过强制垃圾回收将它们从您的机器中删除。但是你不能在 GitHub 上这样做;它不属于你。如果你只是等待,它们最终会在 GitHub 上被销毁。
如果这件事对您来说很紧急,请提取到您的本地存储库并完全删除 GitHub 存储库。创建新的 GitHub 存储库并将您的本地镜像到它。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句