我是git的新手,并且一直在关注设置集中式git服务器的各种教程。在过去的几天里,我遇到以下错误消息时出现问题:
Counting objects: 59, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (59/59), done.
Writing objects: 100% (59/59), 525.33 KiB | 0 bytes/s, done.
Total 59 (delta 15), reused 0 (delta 0)
remote: fatal: failed to read object 24e3826fe4be7dbaddbfcd698e943b5b8f9598ec : Bad file descriptor
error: unpack failed: unpack-objects abnormal exit
To ssh://git@[server url]/volume1/git/[project name]
! [remote rejected] master -> master (unpacker error)
error: failed to push some refs to 'ssh://git@[server url]/volume1/git/[project name]'
最初,我在客户端使用GitEye来管理git存储库,但是当我尝试将我的第一次提交推送到我的linux服务器时遇到了问题。所以我玩了许可并将整个git目录的所有权递归地设置给用户" git"。什么都行不通。所以我尝试从服务器克隆一个裸存储库,然后尝试推送,但那也没有用...让我解压缩错误。
所以我将我的软件切换到Git Extensions并尝试推送Git Bash ......仍然是同样的错误。哦,忘记提及在这个过程中,我不时删除了我的本地和远程git存储库。
虽然有人可能认为这可能与git push over sshfs failing with “error when closing sha1 file: Bad file descriptor”重复,但我没有使用sshfs而我在客户端运行Windows。
这可能是Git push error - fatal: file '' write error: Bad file descriptor的副本,但推送从未有效。
更新: 提到版本,我想知道服务器和客户端之间的版本不匹配是否是问题的根源。所以我将我的客户端git版本从1.9.4降级到1.8.4.msysgit.0,但在删除并重新创建新的git存储库后仍然发现了问题。
有趣的是,我还尝试将git存储库从客户端手动复制到服务器并在远程端执行git状态。结果,我遇到了错误的文件描述符,但该错误没有出现在客户端。
答案 0 :(得分:2)
我找到了问题的根源。我尝试在我的远程端进行第一次提交,然后我得到了#34;而不是一个有效的对象"错误。因此,我的远程端有一个糟糕的git构建。谢谢你的指导。它指出了正确的发展方向。
现在我必须想办法如何在不使用ipkg的情况下为我的远程平台获取更新(或不同)的git版本。