Cygwin使用git 问题求助

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

Username for 'https://github.com':
Password for 'https://xxxxx@github.com':
  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

有人遇到过吗?求助!!

阅读 6.6k
2 个回答

可能是这个版本的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做一些邪恶的事情,实在不行你可能需要换杀软或者停用杀软。

git不是有专门的shell工具吗,记得是powershell

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题