gpt4 book ai didi

Git gc 显示错误 "Could not read commit"

转载 作者:太空狗 更新时间:2023-10-29 14:23:16 27 4
gpt4 key购买 nike

我的 git 存储库有问题。 Git gui 总是 pop 松散对象警告,当我让它压缩时,下次启动 git gui 时会出现 pop 窗口。我已经尝试在控制台中执行 git gui,这里是输出:

$ git gc
error: Could not read 89acec6cd486753b5bbbcf6239f4cf39ab20c6a8
error: Could not read 4f0ce06bd472abcef5eef1ac9a780f2b2fb7d56f
error: Could not read 44e02cd1a9e12b9e6a2ad0b1f6dc062d1d25faac
error: Could not read e503215228feca3e4243e94b07c0714edc5b48ff
error: Could not read 4620c2776e1de834a5d5a56d711ff9b2e27699b7
Counting objects: 189655, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (38260/38260), done.
Writing objects: 100% (189655/189655), done.
Total 189655 (delta 142194), reused 189655 (delta 142194)
error: Could not read 89acec6cd486753b5bbbcf6239f4cf39ab20c6a8
error: Could not read 4f0ce06bd472abcef5eef1ac9a780f2b2fb7d56f
error: Could not read 44e02cd1a9e12b9e6a2ad0b1f6dc062d1d25faac
error: Could not read e503215228feca3e4243e94b07c0714edc5b48ff
error: Could not read 4620c2776e1de834a5d5a56d711ff9b2e27699b7
Checking connectivity: 199676, done.

如何解决?

git show 89acec6cd486753b5bbbcf6239f4cf39ab20c6a8 结果 fatal: bad object 89acec6cd486753b5bbbcf6239f4cf39ab20c6a8git fsck --full 有很多悬空提交。

我正在使用 git v2.4.1

谢谢大家的回答!

编辑:我重新克隆了我的存储库并将 .git 文件夹复制到我的树中,现在一切正常。

最佳答案

在尝试以下任何操作之前,请对项目中的所有内容进行完整备份。

因为只有五个损坏的 git 对象,我想它们都是在一个 git add 中添加的。如果是这种情况,您可以尝试搜索指向具有这些对象的树的提交。如果它们在单个提交中,则可以手动删除该提交并将分支头重置为最后一个可行的提交(如果损坏属于任何分支)。

如果损坏的提交属于任何分支,将其删除将导致最新的 git 历史丢失。但是您现在可以使用备份代码至少恢复工作树中的内容。

更新:啊,对不起。没有了解悬空提交。所以历史被严重破坏了。实际上,只有 5 个对象被破坏。这些可能是一些长期未更改的文件或文件夹,因为它们存在于许多提交中。如果那些 git 对象的文件和文件夹仍然存在(并提供相同的 SHA)怎么办?

  1. 将所有非 git 文件复制到另一个文件夹中。
  2. git 初始化; git 添加——全部; git commit -m'消息'
  3. 查看带有损坏对象 SHA 的对象。对于每一个找到的,将损坏的替换为新创建的。

关于Git gc 显示错误 "Could not read commit",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30356012/

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