我刚刚去克隆另一台远程服务器上的存储库,并在尝试这样做时遇到了问题:
git clone [email protected]:blah/blah/docs.git
Cloning into docs...
remote: Counting objects: 343, done.
remote: error: unable to find 14f87a739828e4d489b0310a51e057b30333926e
remote: Compressing objects: 100% (325/325), done.
error: git upload-pack: git-pack-objects died with error.
fatal: git upload-pack: aborting due to possible repository corruption on the remote side.
remote: fatal: unable to read 14f87a739828e4d489b0310a51e057b30333926e
remote: aborting due to possible repository corruption on the remote side.
fatal: early EOF
fatal: index-pack failed
我做了一些研究并发现了git fsck
,这是输出:
$ git fsck --full
error: sha1 mismatch 14f87a739828e4d489b0310a51e057b30333926e
error: 14f87a739828e4d489b0310a51e057b30333926e: object corrupt or missing
missing blob 14f87a739828e4d489b0310a51e057b30333926e
所有其他有类似问题的人都有链接损坏或其他问题。我对 Git 还很陌生,有人知道如何解决这个问题吗?
我仍然可以推送到我的中央远程存储库,但无法克隆它。
14f87a739828e4d489b0310a51e057b30333926e
是一个 blob,是存储库根目录中的 markdown 文件。我尝试删除该文件并推送这些更改,但无济于事。
Edit:是否可以从另一个存储库导入 git 历史记录?我想我可以启动一个新的存储库并将我的文件复制到其中,然后导入提交历史记录。
如果它只是一个文件并且尚未打包,您应该能够在以下位置找到它:.git/objects/14/f87a739828e4d489b0310a51e057b30333926e
在您的本地存储库中。您可以将此文件复制到服务器上存储库中的相应目录中。
如果它已打包,您应该能够使用以下命令解包它git unpack-objects
在其中一个包文件上.git/objects/pack/
。之后,复制到服务器的工作方式如上所述。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)