我能拉但不能推
$ git push -u origin master
Counting objects: 2031, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (1367/1367), done.
remote: fatal: early EOF
Writing objects: 100% (2031/2031), 34.33 MiB | 100.00 KiB/s, done.
Total 2031 (delta 659), reused 1056 (delta 324)
error: unpack failed: index-pack abnormal exit
To https://*********.git
! [remote rejected] master -> master (unpacker error)
error: failed to push some refs to 'https://*********
我试过:
- git重新打包
- git git config --全局核心压缩0
我已经参考了以下链接,但没有为我工作
Git push failed - unpack-objects abnormal exit
fatal: early EOF fatal: index-pack failed
Git push fails with "fatal: early EOF" when PUSHing but only on one file
其他git用户可以推送到相同的存储库,通常在提交时没有添加大量新文件时会出现此问题
上述解决方案都没有帮助,我被卡住了。
谢谢
编辑
也试过
[core]
packedGitLimit = 512m
packedGitWindowSize = 512m
[pack]
deltaCacheSize = 2047m
packSizeLimit = 2047m
windowMemory = 2047m
7条答案
按热度按时间wqsoz72f1#
尝试使用git push的--no-thin选项。
从https://git-scm.com/docs/git-push开始:
--[无-]瘦
这些选项被传递给git-send-pack[1]。当发送方和接收方共享许多相同的对象时,精简传输可以显著减少发送的数据量。默认值为--thin。
我们的团队一直在努力解决同样的问题,并尝试了OP链接中提到的所有修复/解决方法,取得了不同的成功。对一些人有效的方法对其他人无效,几个月后对同一个人也无效。到目前为止,--no-thin选项工作得很好。
jpfvwuh42#
可能整个文件夹的权限都没有设置,chown -R git:git /your path
ndasle7k3#
问题来自Vagrant NFS挂载的NFS版本。您必须使用版本4,而Windows中没有此版本。请使用Windows上的临时默认同步文件夹,而不是NFS。
fjaof16o4#
Unpacker error
表示远程目录的owner
与当前用户不兼容,git使用的permission
设置不正确。它通常有帮助:mbzjlibv5#
如果你是git管理员,连接到git仓库所在的服务器,进入
objects
文件夹,这里应该有root所有者的文件夹,这是你的问题。将文件夹所有者更改为与文件夹上的其他所有者相同(而不是根)。
hmtdttj46#
我想补充一个可能的错误来源。如果你在一些小内存设备上运行git服务器,很可能在解压缩大文件时内存不足。
如果你遇到这个错误,你可能想在linux上使用
dmesg
命令,看看你是否有类似的东西:内存不足:已终止的进程102198(git)虚拟机总数:344988 kB,匿名rss:231720 kB,文件rss:0 kB,shmem-rss:0 kB,UID:1001页表:516 kB oom_score_adj:0
如果你确实遇到了内存不足的情况,你可能需要考虑为git服务器设置一个大的交换文件。
xj3cbfub7#
在我的情况下,我是在一个共享主机,我只是要求我的主机公司重置我的“进程数”,这是约90%满,它为我工作。也许这可能会帮助别人