Git推送错误:解包失败:索引包异常退出

vsnjm48y  于 2022-11-27  发布在  Git
关注(0)|答案(7)|浏览(260)

我能拉但不能推

$ 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
wqsoz72f

wqsoz72f1#

尝试使用git push的--no-thin选项。

$ git push --no-thin

https://git-scm.com/docs/git-push开始:
--[无-]瘦
这些选项被传递给git-send-pack[1]。当发送方和接收方共享许多相同的对象时,精简传输可以显著减少发送的数据量。默认值为--thin。
我们的团队一直在努力解决同样的问题,并尝试了OP链接中提到的所有修复/解决方法,取得了不同的成功。对一些人有效的方法对其他人无效,几个月后对同一个人也无效。到目前为止,--no-thin选项工作得很好。

jpfvwuh4

jpfvwuh42#

可能整个文件夹的权限都没有设置,chown -R git:git /your path

ndasle7k

ndasle7k3#

问题来自Vagrant NFS挂载的NFS版本。您必须使用版本4,而Windows中没有此版本。请使用Windows上的临时默认同步文件夹,而不是NFS。

fjaof16o

fjaof16o4#

Unpacker error表示远程目录的owner与当前用户不兼容,git使用的permission设置不正确。它通常有帮助:

sudo chown -R yourOwner:yourOwner yourgitDirectory
mbzjlibv

mbzjlibv5#

如果你是git管理员,连接到git仓库所在的服务器,进入objects文件夹,这里应该有root所有者的文件夹,这是你的问题。
将文件夹所有者更改为与文件夹上的其他所有者相同(而不是根)。

hmtdttj4

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服务器设置一个大的交换文件。

xj3cbfub

xj3cbfub7#

在我的情况下,我是在一个共享主机,我只是要求我的主机公司重置我的“进程数”,这是约90%满,它为我工作。也许这可能会帮助别人

相关问题