【发布时间】:2012-10-29 09:35:23
【问题描述】:
我正在尝试将我的本地存储库部署到远程目录。我在这个远程目录中运行了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'
我不确定这里发生了什么。
【问题讨论】:
-
git fsck对您的本地存储库有何评价? -
谢谢,我还在学习 git 的基础知识。我有悬空提交,我相信这是导致问题的原因。这对我来说是一个新的 repo,所以我只是删除了它并从头开始创建了一个新的 repo 和 dev 分支。
-
悬空提交不会有问题,它们只是未引用的提交——稍后会清理的垃圾。值得关注的是,如果您的一个提交引用了一个不存在的父提交。
-
我不确定这会如何发生。然而,我正在玩这个 repo 学习 git 的基础知识,所以我绝对有可能删除了父提交或类似性质的东西。
标签: git shared-hosting git-push