基本问题是有时当我这样做时
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 邮件的错误。