推送到Github时Git推挂?

推送到Github时Git推挂?,git,github,cygwin,freeze,git-push,Git,Github,Cygwin,Freeze,Git Push,每次我尝试推送到github时,Git push都会挂起。我正在使用Cygwin和Windows7。Git可以在本地跟踪分支、提供状态、设置全局user.name和user.email并允许提交 我还是个新手,还在学习 我输入git-push,git-push-origin-master或git-push-u-origin-master,只得到一个空行,要求我返回ctl-c以获取提示 ssh-keygen-t rsa-C”me@example.com“要求我输入文件名并挂起 git-push-h

每次我尝试推送到github时,Git push都会挂起。我正在使用Cygwin和Windows7。Git可以在本地跟踪分支、提供状态、设置全局user.name和user.email并允许提交

我还是个新手,还在学习

我输入
git-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
返回分支主机上的
无需提交,工作目录清理

$git pull
返回已更新的

$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
更新:使用SSH url
git@github.com:git用户名/gitrepo.git
也挂起

git远程设置url源https://github.com/gitusername/appname.git
是否正确

更新:我可以看到git进程在Windows任务管理器挂起时正在运行

我试过:

使用不同的internet连接位置

在https和ssh之间切换并挂起

卸载git。从以下位置重新安装:

卸载git。安装Cygwin的git

卸载git。安装了Github for Windows GUI应用程序,我可以推送它。但这个应用程序功能有限,迫使我从Cygwin窗口进入另一个应用程序,然后迫使我进入Windows命令提示符,以获取我认为通过使用Cygwin逃脱的完整功能

花了很多很多时间试图解决这个问题,它以前工作得很完美,谢谢


2014年4月更新:我重建了我的整个机器Win 7、Cygwin等,现在一切都正常了

试试GIT\u CURL\u VERBOSE=1 GIT push

…您的问题可能是由代理设置引起的,例如,如果git试图通过代理服务器访问github.com,而代理没有响应


当GIT_CURL_VERBOSE=1时,它将显示目标IP地址和一些信息。您可以将此IP地址与命令的输出进行比较:
host www.github.com
。如果这些IP不同,则可以设置
https\u proxy=“
,然后重试。

尝试创建一个脚本,如
~/sshv.sh
,该脚本将显示ssh的用途:

#!/bin/bash
ssh -vvv "$@"
允许为文件所有者执行
~/sshv.sh
文件:

chmod u+x ~/sshv.sh
然后使用以下命令调用您的
git push

GIT_SSH=~/sshv.sh git push ...
在我的例子中,这帮助我发现我使用的是需要关闭的ssh共享连接,所以我终止了那些ssh进程,它开始工作

git config --global core.askpass "git-gui--askpass"

这对我有用。可能需要3-5秒才会出现提示,只需输入您的登录凭据即可。如果您使用的是cygwin git或外部git(即github),则值得检查


如果
where is git
只返回
/cygdrive/c/Program Files(x86)/git/cmd/git.exe
或类似的文件,那么最好安装cygwin git包,这就解决了我的问题。

我想知道这是不是和我以前的一样

  • 打腻子
  • 在保存的会话中单击“默认设置”。单击“加载”
  • 转到连接->SSH->错误
  • 将“PuTTY的SSH-2'winadj'请求阻塞”设置为打开(而不是自动)
  • 返回树状视图中的会话(列表顶部)
  • 单击“保存的会话”框中的“默认设置”。单击保存
  • 这(几乎一字不差)来自:


    这件事发生在我身上,下面是我如何修复的。我使用了Cygwin,它挂起了,所以我尝试在提交时提示输入用户名/密码:

    git config --global core.askpass "git-gui--askpass"
    
    一旦我执行了git push-u origin master并输入用户名密码,它仍然挂起,但似乎要提交给GitHub


    在dos提示符下使用了相同的命令:
    git push-u origin master
    git未挂起。所以,在我的例子中,这个问题可能与CygWin有关。

    我只想说,我的AWS EC2实例中存在这个问题。当我将EC2实例配置为只允许来自负载平衡器的流量时,我试图从EC2实例本身进行推送。我改变了规则,允许HTTP从任何地方进入,但仍然没有解决问题。然后我意识到这是因为我的安全组被配置为不允许通过HTTPS从我的EC2实例传出流量。我没有允许HTTPS入站流量使其工作,即使它可能是一个很好的政策,为您提供HTTPS入站

    我也有同样的问题,症状完全一样……我绝望地想要重建我的整个系统

    我甚至很天真地尝试了一些人建议的
    git-config--global-core.askpass“git-gui--askpass”
    ,但没有成功…
    git-push
    仍处于冻结状态

    但后来我发现我的SSH代理有一个错误。所以我重新启动了ssh代理和…利润

    结论:当您的SSH连接出现问题时,请始终检查您的SSH代理和SSHD服务器……我很确定这是您的问题(这就是为什么在重新安装系统后它仍然有效)

    尝试以下操作

    git config--global core.askpass“git gui--askpass”


    这将提示输入凭据,如果凭据正确,则“推送”成功。

    这是在我的计算机磁盘空间已满时发生的。删除一些文件并清空垃圾箱进行修复。

    在我的情况下,问题是某个进程锁定了我的钥匙链访问


    为了完整起见,请强制退出所有其他应用程序,以确保您的Mac电脑上没有锁定钥匙链访问权限(有时像这样的问题并不像看上去那么复杂):

    配置一个不存在的远程存储库也会导致这种行为——我最近无意中更改了我的源代码的U
    sudo apt-get purge git
    sudo apt-get autoremove
    sudo apt-get install git
    
    [http]
        sslVerify = false
    
    [credential]
        helper = store
    
    killall ssh-agent; eval `ssh-agent`
    
    git push origin