推Github时,Git push会挂起?
每次我尝试推送到GitHub时,Git推动挂起。 我正在使用Cygwin和Windows 7. Git在本地跟踪分支机构,提供状态,设置全局user.name和user.email,并允许提交function良好。
我还是新的,学习。
我inputgit push
, git push origin master
或者git push -u origin master
,我得到的只是一个空行,要求我用ctl-c来得到提示信息。
ssh-keygen -t rsa -C "me@example.com"
问我一个文件名并挂起
git push heroku master
挂起
$ git status
返回On branch master nothing to commit, working directory clean
$ git pull
返回Already up to date
$ git remote -v
返回:
heroku git@heroku.com:myherokusite.git (fetch) heroku git@heroku.com:myherokusite.git (push) origin https://github.com/gitusername/appname.git (fetch) origin https://github.com/gitusername/appname.git (push) or the correct ssh remote settings are returned when trying this with ssh
更新:使用SSHurlgit@github.com:gitusername/gitrepo.git
也挂起
git remote set-url origin https://github.com/gitusername/appname.git
是正确的
更新:我可以看到在Windows任务pipe理器挂起时运行的git进程。
我试过了:
使用不同的networking连接位置
在https和ssh之间切换,并挂起
卸载混帐。 从https://code.google.com/p/msysgit/downloads/list重新安装
卸载混帐。 安装了Cygwin的git
卸载混帐。 安装Github的Windows GUI应用程序,它是我能够推动。 但是这个应用程序的function有限,迫使我离开我的Cygwin窗口进入另一个应用程序,然后迫使我进入一个Windows命令提示符,以获得完整的function,我想我已经使用Cygwin逃脱了。
花了很多很多时间试图解决这个问题,之前工作无误,谢谢。
更新4/2014:我重build了我的整个机器赢7,Cygwin等,现在都工作正常
git config --global core.askpass "git-gui--askpass"
这对我有效。 提示出现可能需要3-5秒,只需input您的login凭据即可。
尝试GIT_CURL_VERBOSE = 1 git push …这可能是由于代理设置git会试图通过代理服务器到达github.com,代理没有响应。 使用GIT_CURL_VERBOSE = 1将显示IP地址和一些信息。 你可以比较ip地址和命令输出“host http://www.github.com”的ip地址。; 如果他们不同,那么你可以使https_proxy =“”然后再试一次。
尝试创build一个类似~/sshv.sh
的脚本,它会告诉你什么是ssh:
#!/bin/bash ssh -vvv "$@"
然后调用你的git push
GIT_SSH=~/sshv.sh git push ...
在我的情况下,这帮助我弄清楚,我正在使用SSH共享连接,需要closures,所以我杀了这些SSH进程,并开始工作。
它值得检查,如果你正在使用cygwin git或外部git(即github)。
如果whereis git
只返回/cygdrive/c/Program Files (x86)/Git/cmd/git.exe
或类似的最好安装cygwin git包,这解决了我的问题。
我有同样的问题,完全相同的症状…我正要在我的绝望重build我的整个系统))。
我甚至是天真地尝试git config --global core.askpass "git-gui--askpass"
因为有人在这里提出,但它没有奏效… git push
仍然冻结…
但后来我发现我的SSH代理出现了错误。 所以我重新启动了ssh-agent和… PROFIT
结论:总是检查你的SSH代理和SSHD服务器,当你有问题的SSH连接…我敢肯定,这是你的问题(这就是为什么它重新安装系统后工作)
尝试以下;
git config –global core.askpass“git-gui-askpass”
这将提示input凭证,如果凭证正确,则“推送”成功。
我只是想说我在我的AWS EC2实例上遇到了这个问题。 我试图从我的EC2实例本身,当我把它configuration为只允许来自负载平衡器的stream量。 我改变了规则,允许来自任何地方的HTTP,但它仍然没有解决问题。 然后我意识到这是因为我的安全组被configuration为不允许通过HTTPS从我的EC2实例出站stream量。 我没有允许HTTPS入站stream量使其正常工作,即使这可能是一个很好的策略,您可以使用HTTPS入站。
我想知道是不是我有同样的事情…
- 进入腻子
- 点击保存的会话中的“默认设置”。 点击加载
- 转到连接 – > SSH – >错误
- 在PuTTY的SSH-2'winadj'请求上设置“Chokes”(而不是Auto)
- 在树形视图中返回到会话(列表顶部)
- 点击Saved Sessions框中的“Default Settings”。 点击保存。
这个(几乎是逐字的)来自https://tortoisegit.org/issue/1880
当我的电脑的磁盘空间已满时,这发生在我身上。 删除一些文件并清空垃圾清理。
在我的情况下,问题是有一个过程,已locking我的钥匙串访问…
强制退出所有其他应用程序,以确保钥匙串访问没有locking在您的Mac上
为了完整性(有时像这样的问题并不像看起来那么复杂):
有一个不存在的远程存储库configuration也可能导致这种行为 – 我最近发现意外更改我的来源url为githu.com
。
推送大量文件时,通常会遇到自己遇到这个问题。
如果你能忍耐并让文件完成上传,你可能根本不需要做任何事情。 祝你好运 –
这发生在我身上,这里是我如何修复。 我用Cygwin和它挂起,所以我试图提交用户名/密码提交:
git config --global core.askpass "git-gui--askpass"
一旦我执行git push -u origin master
并input用户名密码,它仍然挂起,但似乎提交给GitHub。
在dos提示符下使用相同的命令: git push -u origin master
Git不会挂起。 所以在我的情况下,也许有关于CygWin的问题。