拉取/克隆时出现 Git 错误:存储库已损坏?如何解决



我的 git 存储库有问题:

git pull origin master
error: unable to find fd0b73869242ccaeb279c9e48641b24af5d5e586
fatal: oops (fd0b73869242ccaeb279c9e48641b24af5d5e586)
fatal: The remote end hung up unexpectedly

请注意,存储库位于我的笔记本电脑和台式计算机之间,因此我在另一个目录中有源代码,并且"删除并重新创建"我的 git 存储库不是问题。

我对 git 的最后一个问题是命名问题,例如 XCombobox 重命名为 XComboBox,这给我的仓库带来了很多问题。修好后,我很久没有拉到笔记本电脑上了。

现在我正在尝试拉上笔记本电脑,但我遇到了这个问题。是否有可能修复存储库?如何使用桌面存储库上的所有数据最终重置它?

感谢您的任何建议

编辑 1:

如果我尝试克隆存储库,我会得到fatal: unable to read tree [...]

我遇到了同样的错误,设置有点小(在几台计算机之间通过Windows网络共享一个中央裸存储库)。

出于某种原因,在其中一台克隆了中央存储库的计算机上,突然没有任何工作。拉取和提取会导致您描述的错误。奇怪的是,在网络上的另一台计算机上,克隆中央存储库工作正常。因此,问题仅发生在网络上某个特定开发人员使用的特定计算机上。

原来是损坏的Windows共享权限。修复它的方法是删除受影响用户对中央存储库文件夹的访问权限,应用更改,然后重新添加权限。

我自己通过网络查找以修复远程存储库来解决:http://rewoo.wordpress.com/2012/02/14/recover-a-corrupt-git-bare-repository/

这解决了我的问题,我只运行git fsck --fullgit gc --prune=today

现在克隆和拉取再次工作。

无论如何谢谢

某些内容未在正确的位置查找。您可以查看 .git/config 文件,并确保路径名正确。您应该能够修改此文件,然后尝试另一个拉取。

最新更新