我已经在我的 ubuntu 服务器上建立了一个新的 git 存储库。我做了一些初始提交,并通过 ssh 从我的 mac 成功克隆了存储库。尝试推送我在 mac 上所做的更改时,出现以下错误:
error occurred during unpacking on the remote end: unpack-objects abnormal exit
有人可以帮我解决这个问题吗?
我已经在我的 ubuntu 服务器上建立了一个新的 git 存储库。我做了一些初始提交,并通过 ssh 从我的 mac 成功克隆了存储库。尝试推送我在 mac 上所做的更改时,出现以下错误:
error occurred during unpacking on the remote end: unpack-objects abnormal exit
有人可以帮我解决这个问题吗?
我们遇到了同样的问题 - 使用 Netbeans 的 Windows PC 推送到带有主 repo 的 RHEL 服务器。
到目前为止,我发现的唯一解决方案是运行git fsck
,git prune
然后git repack remote/origin/master
是最终的git fsck
. 第一个git fsck
将显示您有一个或多个悬空提交,随后的命令会清理存储库,然后您就可以从 Netbeans 推送。我试图检查这些,但它们似乎不存在,所以它们来自哪里是个谜。如果我从另一个 Linux 机器从命令行推送,则不会出现此问题。这一切都是通过 SSH 完成的。
当只有一个用户推送到 repo 时很好,但是一旦其他人这样做,那么第一个用户(在拉取非快进之后)会得到这个错误。我怀疑 Netbeans 在推送中做了一些奇怪的事情,但我不知道是什么。
编辑:
根据对此答案的评论,这基本上与 WRITE 权限有关,但我已经通过执行以下操作解决了它(假设“开发人员”是我们想要允许推送的组并且 example.com.git 是回购)
[tim@dev git]# chgrp -R developers example.com.git
[tim@dev git]# chmod -R g+swX example.com.git
有关更多信息,请参阅Serverfault 上的此答案
我通过在 git 服务器上重新启动 ssh 守护进程解决了这个问题
# service sshd restart