繁体   English   中英

删除不在历史记录中的git commit

[英]Remove git commit that is not in history

我有这样的事情:

A - B - C

我修改了C,然后得到:

A - B - D

C漂浮在其他地方,如何从本地和远程存储库中删除C?

没有指向C的指针。但是我可以在Github中读取其哈希值。 如何强制垃圾收集并将其推送到远程?

来自github支持

请注意,强制推送不会删除远程存储库上的提交,它只会引入新的提交,并将分支指针移动到指向它们的位置。 如果您担心用户直接通过SHA1访问错误的提交,则必须删除该存储库并重新创建它。

谢谢。

在获得具体答案之前,您需要更加详细地说明您的实际工作,引用(标题,“指针”)指向哪些提交等。

通常,如果没有引用指向您的旧提交C,那么它将被及时垃圾回收。

如果您有指向C的引用,并且您希望C消失,则需要删除这些引用。 当然,您需要了解这样做的潜在影响-即其他提交可能会消失。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM