首页 > 解决方案 > Git 错误:远程解包失败:无法创建临时对象目录 - 尝试推送到远程存储库时

问题描述

尝试推送到远程存储库时,我收到以下错误

Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 40 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 368 bytes | 368.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0)
error: remote unpack failed: unable to create temporary object directory
To gitlab:product-line-family/testRepo.git
 ! [remote rejected] devel -> devel (unpacker error)
error: failed to push some refs to 'git@gitlab:product-line-family/testRepo.git'

我已经查看了这个类似问题的答案,但它似乎不是其他答案中建议的权限或存储问题。该错误在多个用户和工作站中持续存在,并且每个用户和工作站都具有对本地存储库的完全权限。

如果有人有任何想法可能导致此问题以及如何解决它,我将非常感谢您的建议!

标签: gitgitlabgit-pushgit-repo

解决方案


有点相同的问题。解决了它(对我来说)。一个棘手的。

我的客户是 MacOS。我让它在用户'总统'下运行。
我的 git-server 在 Synology NAS 上运行。在那里,我主要在名为“总统”的用户下运行所有​​内容。事实上,这些用户并不是同一个用户,因为它们存在于不同的物理设置中。
顺便说一句,我用一个名为“gituser”的用户设置了 git-server。由于“总统”是一个非常强大的用户,因此使用“总统”可以访问“gituser”可以访问的所有内容是没有问题的。

现在,由于我正在使用与服务器同名的本地用户进行远程访问,因此服务器有点知道这就是我工作的原因。

换句话说,这在询问并输入密码后起作用:

CLIENT/president> git clone ssh://myserver:22/git/myrepo

登录发生在(错误的)“总统”和(某些)git 功能将完美无缺。
更好的方法是使用在服务器上分配的正确 git-user 'gituser':

CLIENT/president> git clone ssh://gituser@myserver:22/git/myrepo

这对我有用。因此,无需在服务器端进行更正。

在 Synology 上设置 git 的进一步阅读:https ://gist.github.com/walkerjeffd/374750c366605cd5123d


推荐阅读