Cygwin使用git 问题求助


系统 win 32
在使用git push origin master 推送代码时出来


 Username for 'https://github.com':
Password for 'https://[email protected]':
  1 [main] git-remote-https 26048 child_info_fork::abort: 
  C:\cygwin\bin\cygroken-18.dll: Loaded to different address:
    parent(0x3E0000) != child(0x2D0000)
    error: cannot fork() for send-pack: Resource temporarily unavailable

有人遇到过吗?求助!!

程序员 新手问题 windows cygwin Linux

江协伟的小号 11 years, 3 months ago

可能是这个版本的cygwin的git有兼容性问题。


 C:\cygwin\bin\cygroken-18.dll: Loaded to different address:
    parent(0x3E0000) != child(0x2D0000)
    error: cannot fork() for send-pack: Resource temporarily unavailable

这个错误信息告诉你是DLL内存管理出问题了。Windows下的DLL很复杂混乱,然后cygwin的git由于未知的不兼容性触发了问题。

上策: 使用 msysgit 或者开虚拟机用Linux的 git 。这样你就不用操心兼容性问题了。

中策: 如果很久没升级了,尝试升级到新版的cygwin的git,也许新版本已经解决问题了。

下策:使用cygwin的 rebaseall 功能,将软件包rebase一下。具体步骤参考 cygwin wiki

注意

  • 由于软件兼容性问题仍然存在,所以rebaseall不是万能灵药,rebaseall之后仍然存在再次出现这个错误的可能。
  • 一旦你更改了你系统上的任何DLL,你可能需要重新rebaseall。
  • 有些杀毒软件会对DLL做一些邪恶的事情,实在不行你可能需要换杀软或者停用杀软。
革命的枪杆 answered 11 years, 3 months ago

Your Answer