gpt4 book ai didi

Git 重置 - 提交在 Github 上仍然存在

转载 作者:行者123 更新时间:2023-12-05 07:42:06 24 4
gpt4 key购买 nike

我有 2 个分支,master 和 develop。在我的开发分支上,我做了一些提交并推送到 Github,假设它看起来像 A-B-C-D-E。重要的是,我在 Github 问题中引用了其中一个提交 C

但是,我需要从本地和远程历史记录中删除提交 C,并且我可以在中丢失提交 DE过程。本质上是将历史重置回 B。我通过硬重置到 B 来做到这一点,然后强制推送到 Github。然后我继续工作,添加并推送另一个提交 F 认为一切正常。所以分支现在看起来像 A-B-F

查看本地和 Github 上分支的状态,一切似乎都正常。 Develop 现在在这两个地方都只是 A-B-F。但是,似乎提交 C-D-E 仍然存在,因为当我查看 Github 问题时,它仍然引用 C 我可以点击查看整个提交和所有文件该提交时的 repo

我不确定为什么会这样,因为当我执行 git log --graph 时,我只看到 A-B-F

鉴于我已经完成了硬重置和强制推送,我现在可以做些什么来从我的本地存储库和 Github 上正确地消除提交 C-D-E

最佳答案

这就是 git 的工作原理。这很傻。即使您确实重置了分支以提交 BC D E 提交仍然作为存储库对象数据库中的对象存在。如果你真的想摆脱它们,你应该删除提交引用的文件以及它们指向的树。我很确定有一个命令(可能是一些 ref-log 操作和缓存过期)

然而,要真正摆脱提交(我在这里可能弄错了),您还必须重新创建存储库,因为您没有推送提交的删除。

关于Git 重置 - 提交在 Github 上仍然存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44821876/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com