Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 致命:早期EOF致命:索引包失败_Git_Cygwin_Msysgit - Fatal编程技术网

Git 致命:早期EOF致命:索引包失败

Git 致命:早期EOF致命:索引包失败,git,cygwin,msysgit,Git,Cygwin,Msysgit,我在谷歌上搜索了很多解决方案,但没有一个适合我 [core] packedGitLimit = 512m packedGitWindowSize = 512m [pack] deltaCacheSize = 2047m packSizeLimit = 2047m windowMemory = 2047m 我正试图通过连接到LAN网络中的远程服务器从一台计算机克隆。 从另一台计算机运行此命令会导致错误。 但是使用git://192.168.8.5 ... 在服务器上,一切正常且成功

我在谷歌上搜索了很多解决方案,但没有一个适合我

[core] 
packedGitLimit = 512m 
packedGitWindowSize = 512m 
[pack] 
deltaCacheSize = 2047m 
packSizeLimit = 2047m 
windowMemory = 2047m
我正试图通过连接到LAN网络中的远程服务器从一台计算机克隆。
从另一台计算机运行此命令会导致错误。
但是使用git://192.168.8.5 ... 在服务器上,一切正常且成功

有什么想法吗

user@USER ~
$ git clone  -v git://192.168.8.5/butterfly025.git
Cloning into 'butterfly025'...
remote: Counting objects: 4846, done.
remote: Compressing objects: 100% (3256/3256), done.
fatal: read error: Invalid argument, 255.05 MiB | 1.35 MiB/s
fatal: early EOF
fatal: index-pack failed
我在
.gitconfig
中添加了此配置,但也没有帮助。
使用git版本1.8.5.2.msysgit.0

[core]
    compression = -1

首先,关闭压缩:

git config --global core.compression 0
接下来,让我们进行一次部分克隆,以截短下来的信息量:

git clone --depth 1 <repo_URI>
或者,或者

git fetch --depth=2147483647
现在,进行常规拉动:

git pull --all

我认为msysgit在1.8.x版本中出现了一个小故障,加剧了这些症状,因此另一个选择是尝试使用早期版本的git(首先,关闭压缩:

git config --global core.compression 0
接下来,让我们进行一次部分克隆,以截短下来的信息量:

git clone --depth 1 <repo_URI>
或者,或者

git fetch --depth=2147483647
现在,进行常规拉动:

git pull --all

我认为msysgit在1.8.x版本中出现了一个小故障,加剧了这些症状,所以另一个选择是尝试使用早期版本的git(我尝试了所有这些命令,但没有一个对我有效,但有效的方法是将git_url改为http而不是ssh

如果是克隆命令,请执行以下操作:

git clone <your_http_or_https_repo_url> 
git克隆
否则,如果你在利用现有的回购协议,那么就利用现有的回购协议

git remote set-url origin <your_http_or_https_repo_url>
git远程设置url源

希望这对某人有所帮助!

我尝试了所有这些命令,但没有一个对我有效,但有效的方法是将git_url改为http而不是ssh

如果是克隆命令,请执行以下操作:

git clone <your_http_or_https_repo_url> 
git克隆
否则,如果你在利用现有的回购协议,那么就利用现有的回购协议

git remote set-url origin <your_http_or_https_repo_url>
git远程设置url源

希望这能帮助别人!

当git内存不足时,我遇到了这个错误


释放一些内存(在本例中:让编译作业完成)并重试对我来说很有效。

当git内存不足时,我遇到了这个错误


释放一些内存(在本例中:让编译作业完成)并重试对我来说很有效。

在我的情况下,这是一个连接问题。我连接到一个内部wifi网络,在该网络中,我对Resources的访问受到限制。这让git进行提取,但在某个时间它崩溃了。 这意味着可能是网络连接问题。请检查是否所有内容都正常运行:防病毒、防火墙等


因此,elin3t的答案很重要,因为ssh提高了下载的性能,因此可以避免网络问题。在我的情况下,这是一个连接问题。我连接到一个内部wifi网络,在该网络中,我对Resources的访问有限。这让git进行提取,但在某个时间它崩溃了。 这意味着可能是网络连接问题。请检查是否所有内容都正常运行:防病毒、防火墙等


因此,elin3t的答案很重要,因为ssh提高了下载的性能,从而可以避免网络问题

由于git的内存需求,可能会发生此错误。您可以将这些行添加到全局git配置文件中,该文件位于
$USER\u HOME
中,以修复该问题

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

git的内存需求可能会发生此错误。您可以将这些行添加到全局git配置文件中,该文件位于
$USER\u HOME
中的
.gitconfig
,以解决此问题

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

在我的例子中,当协议是https时,什么都不起作用,然后我切换到ssh,并确保,我从上次提交中提取了repo,而不是整个历史记录,以及特定分支。这有助于我:


git clone--depth 1“ssh:.git”--branch“specific_branch”

在我的例子中,当协议是https时,没有任何东西起作用,然后我切换到ssh,并确保从上次提交(而不是整个历史)以及特定分支中提取repo。这对我有帮助:


git克隆--depth 1“ssh:.git”--branch“specific_branch”

从git克隆中,我得到:

error: inflate: data stream error (unknown compression method)
fatal: serious inflate inconsistency
fatal: index-pack failed

重新启动机器后,我可以很好地克隆repo。

从git克隆,我得到:

error: inflate: data stream error (unknown compression method)
fatal: serious inflate inconsistency
fatal: index-pack failed

重新启动机器后,我可以很好地克隆回购协议。

我也有同样的问题。按照上面的第一步,我可以克隆,但我不能做任何其他事情。无法获取、拉取或签出旧分支

每个命令的运行速度都比平时慢得多,然后在压缩对象后消失

I:\dev [master +0 ~6 -0]> git fetch --unshallow
remote: Counting objects: 645483, done.
remote: Compressing objects: 100% (136865/136865), done.

error: RPC failed; result=18, HTTP code = 20082 MiB | 6.26 MiB/s

fatal: early EOF

fatal: The remote end hung up unexpectedly

fatal: index-pack failed
当你的ref使用了太多的内存时也会发生这种情况。删减内存为我解决了这个问题。只需对你获取的内容添加一个限制即可->

git fetch --depth=100
这将获取文件,但在其历史记录中包含最后100次编辑。
在此之后,您可以以正常速度执行任何命令。

我也有同样的问题。按照上面的第一步,我可以克隆,但我不能执行任何其他操作。无法获取、拉取或签出旧分支

每个命令的运行速度都比平时慢得多,然后在压缩对象后消失

I:\dev [master +0 ~6 -0]> git fetch --unshallow
remote: Counting objects: 645483, done.
remote: Compressing objects: 100% (136865/136865), done.

error: RPC failed; result=18, HTTP code = 20082 MiB | 6.26 MiB/s

fatal: early EOF

fatal: The remote end hung up unexpectedly

fatal: index-pack failed
当你的ref使用了太多的内存时也会发生这种情况。删减内存为我解决了这个问题。只需对你获取的内容添加一个限制即可->

git fetch --depth=100
这将获取文件,但在其历史记录中包含最后100次编辑。 在此之后,您可以以正常速度执行任何命令。

请注意,Git 2.13.x/2.14(2017年第3季度)确实会提高默认的
核心。packedgiltimit
会影响
Git fetch

在更大的平台上(从8 GiB提高到32 GiB),在“
gc
”并行运行时,将“
git fetch
”从(可恢复的)故障中保存下来

参见(2017年4月20日)作者。
帮助人:。
(于2017年5月16日被合并)

增加核心。打包限制 当超过
core.packedgiltlimit
时,git将关闭包。
如果重新打包操作与提取并行进行,则提取 可能会打开
[core] 
packedGitLimit = 512m 
packedGitWindowSize = 512m 
[pack] 
deltaCacheSize = 2047m 
packSizeLimit = 2047m 
windowMemory = 2047m
-f: Proceed with syncing other projects even if a project fails to sync.
repo sync -f -j8
ssh admin@my_server_url.com
sudo su git
cd /home/git/my_repo_name # where my server's bare repository exists.
git gc
git repack -A
git clone git@my_server_url.com:my_repo_name
git clone --single-branch --depth=1 git@my_server_url.com:my_repo_name
git config --global core.compression 0
git config --global pack.windowsMemory 256m
git config --global http.postBuffer 2M