推送到Github时Git推挂?
每次我尝试推送到github时,Git push都会挂起。我正在使用Cygwin和Windows7。Git可以在本地跟踪分支、提供状态、设置全局user.name和user.email并允许提交 我还是个新手,还在学习 我输入推送到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
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 urlgit@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包,这就解决了我的问题。我想知道这是不是和我以前的一样
这件事发生在我身上,下面是我如何修复的。我使用了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