基本问题是有时我做
git pull upstream master
我得到了
remote: Counting objects: 172, done.
remote: Compressing objects: 100% (57/57), done.
remote: Total 119 (delta 45), reused 95 (delta 21)
0 [main] git 8660 fork: child -1 - forked process 4520 died unexpectedly, retry 0, exit code -1073741515, errno 11
error: cannot fork() for index-pack: Resource temporarily unavailable
fatal: fetch-pack: unable to fork off index-pack
每次退出代码都是相同的,对象的数量随着进程数的变化而变化。我在Windows 7上通过ssh运行对github的公钥认证。它发生在有和没有ssh-agent的情况下。我已经有几个月的这个问题了,并且当它出现时,切换到运行Git Bash(MingW32)来解决这个问题(这几乎每次都有一些存储库,偶尔或从不与其他人一起)。但是我通常更喜欢Cygwin环境并且我的大部分东西都设置在那里,所以当我被迫这样做时,这是一个拖累。
前段时间我看到了这篇文章http://cygwin.com/ml/cygwin/2012-03/msg00025.html并且在阅读之后希望下次我更新Cygwin时修复这个问题也会解决我的问题。它没有,但我不确定修复程序是否已发布,但我今天再次更新并且它正在发生。
我注意到很多关于网络上Cygwin git的fork()错误的电子邮件,虽然没有拉动,所以我的问题是,有没有人在拉过之前看过这个,是什么原因引起的?有没有办法阻止它发生(除了修补git或cygwin或使用其他一些实现课程:))。
有趣的是,我没有看到任何错误,我可以在网上找到相关的Cygwin / git邮件。
答案 0 :(得分:35)
此处解决了这个问题:http://cygwin.wikia.com/wiki/Rebaseall
简而言之,关闭所有窗口并运行它:
C:\cygwin\bin\dash.exe -c '/usr/bin/rebaseall -v'
这解决了与分叉相关的所有问题。我遇到了从emacs和git分支aspell的问题。
答案 1 :(得分:25)
好的,我想我应该分享。我有同样的问题,但我有一个解决方法。问题似乎是PATH的长度。如果我做了一个git pull,我得到了fork失败:
$ git pull*emphasized text* 2 [main] git 7384 fork: child -1 - forked process 7420 died unexpectedly, retry 0, exit code -1073741515, errno 11 error: cannot fork() for rev-list: Resource temporarily unavailable error: Could not run 'git rev-list' remote: Counting objects: 728, done. remote: Compressing objects: 100% (456/456), done. 907550 [main] git 7384 fork: child -1 - forked process 7436 died unexpectedly, retry 0, exit code -1073741515, errno 11 error: cannot fork() for index-pack: Resource temporarily unavailable fatal: fetch-pack: unable to fork off index-pack
但是,如果我在运行git之前将PATH设置为非常小的东西,它可以工作:
$ PATH=/usr/bin git pull remote: Counting objects: 728, done. remote: Compressing objects: 100% (456/456), done. remote: Total 464 (delta 337), reused 9 (delta 6) Receiving objects: 100% (464/464), 153.36 KiB, done. Resolving deltas: 100% (337/337), completed with 107 local objects. From git://cmake.org/cmake
如果它对你们任何人都有用,我会感兴趣吗?
答案 2 :(得分:3)
我也面临同样的问题,系统重新启动解决了它。
答案 3 :(得分:2)
我知道有一段时间过去了,但我发现这是在寻找我自己非常相似的问题,使用MobaXterm应用程序内置的cygwin平台。拉出我不存在的头发试图找出它,最后通过简单的重启来修复它。
我再次证实,这适用于第二台Windows 10计算机,MobaXterm + git应用程序的新安装,以及尝试从github repo中提取。相同的错误:“错误:不能fork()索引包:资源暂时不可用”已经实现,并且一个简单的计算机重新启动修复它。
答案 4 :(得分:-3)
不是设置PATH变量或使用git的完整路径(一次),而是应该也可以这样做:
git=`which git`
git pull
这会将git分配给它连续调用的完整路径。现在,如果git在另一个程序(如make)中使用,它将能够。