2

我正在尝试将本地存储库部署到远程目录。我已经git init --bare在这个远程目录中运行,并将正确的 ssh 路径添加到我的本地 git repo 分支(名为 dev)git remote add server ssh://user@domain.com:2222/path/to/repo

当我运行时,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'

我不确定这里发生了什么。

4

1 回答 1

3

正如“ git repository failed to traverse parent error ”中提到的,这也可能是由浅克隆引起的。

但是,在您的情况下(测试存储库),从头开始重新启动是最简单的。

一般来说,你在这个线程中有一些有趣的建议:

1. 用“ git rev-list --objects”找出是什么40aaeb204dc

如果这不起作用:

2. 运行“ git fsck --full”,包装完好无损。这需要一段时间。
结果将包括缺失对象的列表(如40aaeb204dc),最重要的是,它们的类型。

遵循howto/recover-corrupted-blob-object.txt将有助于识别损坏的松散对象。

于 2012-11-09T07:09:39.087 回答