Git,错误:远程解压缩失败:无法创建临时对象目录-通过创建新分支

时间:2018-07-24 09:25:59

标签: git git-branch git-commit git-push git-repo

美好的一天。

我试图在我的仓库中创建一个新的分支。

我做到了:

  

Git分支事件

     

Git Checkout事件

行得通。所以我更改了一些文件并制作了

  

Git状态

     

Git添加--all

     

Git Commit -m“提交”

效果很好,但我尝试将其推开,但效果不佳:

  

Git push -u起源事件

这是错误:

  

枚举对象:9个,已完成。
  计数对象:已完成100%(9/9)。
  Delta压缩最多使用4个线程。
  压缩对象:已完成100%(5/5)。
  写入对象:100%(5/5),716字节|已完成716.00 KiB / s。
  总计5(增量4),已重用0(增量0)
  错误:远程解压缩失败:无法创建临时对象目录
  到http://git.int.censoredlink/scm/freeb/freebrep.git
   ! [远程拒绝]事件->事件(拆包错误)
  错误:无法将某些引用推送到“ http://stsu@git.int.censoredlink/scm/freeb/freebrep.git

我不知道为什么它不起作用。

我对存储库具有管理员权限。我审查了回购的链接,因为它的“带私人链接的实习生回购”希望还可以。

希望有人可以帮助我。

8 个答案:

答案 0 :(得分:3)

当我尝试推送到“审查的git服务器”时,我遇到了同样的错误。问题出在服务器端。您可以等待一段时间,直到服务器正确恢复联机状态,或者直接与管理员联系以进行修复:)

答案 1 :(得分:2)

此错误消息:

error: remote unpack failed: unable to create temporary object directory

表示服务器上的Git存储库(不是您的Git)安装不正确。也就是说,给定:

To: http://git.int.censoredlink/scm/freeb/freebrep.git

您将必须在git.int.censoredlink登录到提供HTTP流量的计算机,然后转到scm/freeb/freebrep.git目录,然后在此处更正安装。这很可能是权限问题:接收方Git必须能够在对象区域中创建名为incoming-XXXXXX的目录,其中X被唯一的标识符替换,然后在该目录中创建一个pack子目录。

所有进入的对象和包文件都以一种隔离过程的方式放置在这些目录中,直到服务器端Git挂钩对引用名称更新请求感到满意为止。如果推送失败,则仅删除隔离目录。如果推送成功,则隔离的对象和/或包文件将迁移(并调整薄包)到常规对象存储区域。请注意,即使隔离过程成功,迁移也可能失败。但是,如果这样做,则会向客户端报告一个不同错误。 (此错误也必须在服务器上更正。)

注意:推送到http://而不是https://ssh:// URL是很不寻常的。检查您的服务器配置,查看谁将拥有由此创建的各种文件,以及Web服务器将拥有哪些权限。

答案 2 :(得分:1)

由于此错误消息,我被重定向到这里。

  

错误:远程解压缩失败:无法创建临时对象目录

仅供参考:在以只读方式挂载git目录时,也会发生这种情况

例如x.x.x.x:/nas/git on /mnt/git type nfs (ro,.....

答案 3 :(得分:0)

在删除远程git存储库中的.git子目录之前,我一直遇到相同的错误。

.git子目录不能由git登录帐户写入。最初,我在尝试提交时遇到权限问题,并且我怀疑随后创建了.git子目录。

答案 4 :(得分:0)

如果您以root user的身份工作,请先将用户更改为your git user,然后再更改为init your git directory

  1. 如果您是root -> $ [root @ server〜]#
  2. 更改用户-> $ su-用户名
  3. 启动git仓库-> [用户名@服务器〜] $ git init --bare git-repo.git
  4. 从客户端推送->现在您可以从客户端推送:
    git remote add yourAliasName ssh://username@IP-or-HOST:sshPort/home/username/git-repo.git

注意:
我以为您已经在客户端中创建了public/private key并将公钥传递给/home/username/.ssh/authorized_keys服务器文件。否则,您必须在执行步骤(4)之前执行此操作。

答案 5 :(得分:0)

最近我确实遇到了这个错误。问题是用户没有足够的权限,例如 git remote add production ssh://username@{your-ip}/var/test/test.git` 确保用户名没有权限

答案 6 :(得分:0)

假设在您的 Mac 上您要连接到您自己在 AWS 上的 ubuntu 服务器。

很可能您将以用户身份“ubuntu”进行连接。

如果权限不是问题(只有您自己),只需登录您的 ubuntu 服务器,然后

] chown ubuntu:ubuntu

所有有问题的 git 目录。那会工作得很好。

答案 7 :(得分:0)

对我来说,这是一个悬而未决、崩溃的 gitk-session:专门阻止在 windoze 机器上访问文件。