我正试图在我的repo中创建一个新分支。
我做到了:
git branch events
git Checkout events
奏效了。所以我更改了一些文件并做了:
git Status
git add --all
git commit -m "Commit"
这很有效,但我试图推动它,但没有奏效:
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'
我不知道为什么它不起作用。
我拥有回购的管理员权限。我审查了回购的链接,因为这是一个带有私人链接的内部回购。
此错误消息:
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
s由唯一标识符替换,然后在该目录中创建一个子目录pack
。
所有传入的对象和包文件都被放置在这些目录中,这是一种隔离过程,直到服务器端Git挂钩满足引用名称更新请求。如果推送失败,隔离目录将被简单删除。如果推送成功,隔离的对象和/或包文件将迁移(并调整精简包)到正常对象存储区域。请注意,即使隔离过程成功,迁移也可能失败;但如果这样做,您会向客户端报告一个不同的错误。(此错误也必须在服务器上更正。)
注意:推送到http://
而不是https://
或ssh://
URL是很不寻常的。检查服务器配置,查看谁将拥有由此创建的各种文件,以及web服务器将拥有什么权限。
1如果硬盘驱动器出现故障,Linux有时会将驱动器和/或其文件系统标记为只读。或者,即使您有磁盘空间,也可能会耗尽索引节点。许多不同的根本原因都会导致在客户端上观察到相同的行为。如果您是在服务器上进行检查的Linux管理员,请查找系统日志消息,并考虑df
和df -i
的输出。
90%的可能性是权限问题。
- 登录到远程服务器
- 导航到
freebrep.git
所在的/scm/freeb
- 致电
chown -R yourusername freebrep.git
(用户名为stsu) - 请重试。现在它应该允许编写对象
如果您使用root user
,请先将用户更改为your git user
,然后更改为init your git directory
:
- 如果您是root用户->$[root@server~]#
- 更改用户->$su-用户名
- 初始化git repo->[username@server~]$git-init--裸git-repo.git
-
客户端推送->现在您可以从客户端推送:
git remote add yourAliasName ssh://username@IP-or-HOST:sshPort/home/username/git-repo.git
注意:
我认为您已经在客户端中创建了一个public/private key
,并将公钥传递给了/home/username/.ssh/authorized_keys
服务器文件。否则,您必须在步骤(4)之前执行此操作。
在删除远程git存储库中的.git子目录之前,我也收到了同样的错误。
git登录帐户无法写入.git子目录。起初,我在尝试提交时遇到了权限问题,我怀疑.git子目录是在那时创建的。
因为这个错误消息,我被重定向到了这里。
错误:远程解压缩失败:无法创建临时对象目录
仅供参考:当您安装git目录只读时,也可能发生这种情况
例如x.x.x.x:/nas/git on /mnt/git type nfs (ro,.....
最近我确实遇到了这个错误。问题是用户没有足够的权限,例如git远程添加生产ssh://username@{your-ip}/var/test/test.git`确保用户名没有权限
当我尝试推送到"审查的git服务器"时,我遇到了同样的错误。问题出在服务器端。您可以等待一段时间,直到服务器恢复正常联机,或者只需联系管理员即可修复:)
对我来说,这是一个悬空的、崩溃的gitk会话:专门阻止windoze机器上的文件访问。
假设您在Mac上连接到AWS上自己的ubuntu服务器。
很可能您将以用户身份连接";ubuntu";。
如果权限不是问题(只有你),只需登录到你的ubuntu服务器,只需
] chown ubuntu:ubuntu
所有有问题的git目录。那会很好用的。
问题:-error:远程解压缩失败:无法创建临时对象目录到https://url.com/scm/som/project.git![远程拒绝]发布/项目-PROD-year_month_WeekNumber->release/project-PROD-year_month_WeekNumber(解包错误)错误:无法将某些引用推送到"https://url.com/scm/som/project.git'
解决方案:-打开gitbash goto项目根目录。
chmod 777*
然后再次尝试git-push
它对我有效