我正在尝试将本地存储库部署到远程目录。我在这个远程目录中运行git init --bare
,并使用git remote add server ssh://user@domain.com:2222/path/to/repo
将正确的ssh路径添加到我的本地git repo分支(名为dev)。
当我运行git push server dev
时,我得到以下输出:
Counting objects: 44, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (37/37), done.
Writing objects: 100% (44/44), 89.58 KiB, done.
Total 44 (delta 2), reused 27 (delta 2)
error: Could not read 551dd5c5d67e3b2da4074d8f15a59a324a063a03
fatal: Failed to traverse parents of commit 0615b940c3247e3547de1379ab09a4a6bb614252
error: Could not read 551dd5c5d67e3b2da4074d8f15a59a324a063a03
fatal: Failed to traverse parents of commit 0615b940c3247e3547de1379ab09a4a6bb614252
To ssh://user@domain.com:2222/path/to/repo
! [remote rejected] dev -> master (missing necessary objects)
error: failed to push some refs to 'ssh://user@domain.com:2222/path/to/repo'
我不确定这里发生了什么。
答案 0 :(得分:3)
如“git repository failed to traverse parent error”中所述,这也可能是由浅层克隆引起的。
在您的情况下(测试回购),从头开始重新启动是最简单的。
一般来说,您在this thread中有一些有趣的建议:
1。使用“
git rev-list --objects
”查找40aaeb204dc
是什么。如果这不起作用:
2。运行“
git fsck --full
”,包完好无损。这需要一段时间 结果将包括缺少对象的列表(如40aaeb204dc
),最重要的是,它们的类型。关注howto/recover-corrupted-blob-object.txt对于识别腐败的松散物体非常有用。