Git,错误 : remote unpack failed: unable to create temporary object directory - By creating new Branch

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

我正在尝试在我的存储库中创建一个新分支。

我这样做了:

git branch events
git Checkout events

成功了。所以我更改了一些文件并做了:

git Status
git add --all
git commit -m "Commit"

效果很好,但我试图 push 它,但没有效果:

git push -u origin events

这是错误:

Enumerating objects: 9, done.                                                                                                                       
Counting objects: 100% (9/9), done.                                                                                                                 
Delta compression using up to 4 threads.                                                                                                            
Compressing objects: 100% (5/5), done.                                                                                                              
Writing objects: 100% (5/5), 716 bytes | 716.00 KiB/s, done.                                                                                        
Total 5 (delta 4), reused 0 (delta 0)                                                                                                               
error: remote unpack failed: unable to create temporary object directory                                                                            
To http://git.int.censoredlink/scm/freeb/freebrep.git                                                                                       
 ! [remote rejected] events -> events (unpacker error)                                                                                              
error: failed to push some refs to 'http://stsu@git.int.censoredlink/scm/freeb/freebrep.git'

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

我拥有 Repo 的管理员权限。我审查了 repo 协议(protocol)的链接,因为它是一个带有私有(private)链接的内部 repo 协议(protocol)。

最佳答案

此错误信息:

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

表示服务器(不是您的 Git)上的 Git 存储库空间不足,或遇到类似的服务器问题,1 或安装不正确。也就是说,给定:

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

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

所有传入的对象和包文件都放在这些目录中,在某种隔离过程中,直到服务器端 Git Hook 满足引用名称更新请求。如果推送失败,则简单地删除隔离目录。如果推送成功,隔离的对象和/或打包文件将迁移(和精简包调整)到正常的对象存储区域。请注意,即使隔离过程成功,迁移也可能失败;但如果这样做,您会收到一个不同的错误报告给客户端。 (此错误也必须在服务器上更正。)

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


1如果硬盘驱动器发生故障,Linux 有时会将驱动器和/或其文件系统标记为只读。或者,即使您有磁盘空间,也可能会用完 inode。许多不同的根本原因都会导致在您的客户端观察到相同的行为。如果您是检查服务器的 Linux 管理员,请查找系统日志消息,并考虑 dfdf -i 输出。

关于Git,错误 : remote unpack failed: unable to create temporary object directory - By creating new Branch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51495092/

相关文章:

git - 为什么我需要一直执行 `--set-upstream`?

git - 为什么 git branch 不显示任何东西?

xcode - 如何从 Xcode 8 上的先前提交中恢复?

Gitlab 删除旧提交

git - 有没有人看到 git 创建了一个没有日期和全零散列的提交?

Git:通过符号链接(symbolic link)克隆需要密码?

git - 如何将多个文件(但不是全部)恢复到过去的提交?

git - 如何告诉 Git 总是 pull master 分支?

没有提交消息的 Git 提交

git - 在错误的 git 分支中工作