Git推送错误:解包失败:index-pack异常退出

时间:2016-09-07 06:46:47

标签: git

我能拉,但无法推送

$ 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 repack
  • git git config --global core.compression 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用户可以推送到同一个repo,通常在提交时会出现这个问题,大量没有添加新文件

上述解决方案都没有帮助,我被困住了。

由于

编辑

也试过

[core] 
packedGitLimit = 512m 
packedGitWindowSize = 512m 
[pack] 
deltaCacheSize = 2047m 
packSizeLimit = 2047m 
windowMemory = 2047m

4 个答案:

答案 0 :(得分:5)

尝试使用git push的

$ git push --no-thin

来自https://git-scm.com/docs/git-push

  

- [无糖]薄

     

这些选项传递给git-send-pack [1]。当发送方和接收方共享许多相同的对象时,精简传输会显着减少发送的数据量。默认值为--thin。

我们的团队一直在努力解决这个问题,并尝试了OP链接中提到的所有修复/解决方法,取得了不同的成功。对某些人有用的东西对其他人不起作用,几个月之后也不适用于同一个人。到目前为止,--no-thin选项一直运行良好。

答案 1 :(得分:1)

问题来自您的Vagrant NFS安装的NFS版本。您必须使用Windows中不可用的版本4。在Windows上使用临时默认同步文件夹而不是NFS。

答案 2 :(得分:0)

如果您是git管理员,请在托管git存储库的服务器上进行连接。在那里,进入objects文件夹。应该有root用户的文件夹,这是你的问题。

将文件夹所有者更改为等于文件夹(不是root)上的其他所有者。

答案 3 :(得分:0)

也许未设置整个文件夹的权限。

chown -R git:git /your path