2013-06-03 2 views
40

私はgithubにプッシュしようとするたびにGit pushがハングします。私はCygwinとWindows 7を使用しています.Gitはローカルでブランチを追跡し、ステータスを提供し、グローバルuser.nameとuser.emailを設定し、コミットを許可します。Githubにプッシュするときにギットプッシュがハングしますか?

私はまだ新しく学習しています。

git push,またはgit push -u origin masterと入力してください。プロンプトを返すためにctl-cに必要な空白行だけが表示されます。

ssh-keygen -t rsa -C "[email protected]"は、ファイル名のために私に尋ねると

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 [email protected]:myherokusite.git (fetch) 

heroku [email protected]: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 [email protected]:gitusername/gitrepo.gitを使用しても

git remote set-url origin https://github.com/gitusername/appname.gitが正しいハング

更新:私はそれがハングアップしながら、Windowsのタスクマネージャで実行中のgitのプロセスを見ることができます。

私が試してみた:

を別のインターネット接続位置にHTTPSおよびSSH、それは

アンインストールのgitをハング間

スイッチングを使用。再インストールした人:https://code.google.com/p/msysgit/downloads/list

gitをアンインストールしました。インストールされたCygwinのgit

gitがアンインストールされました。 Windows GUIアプリケーション用にGithubをインストールしました。しかし、このアプリは機能が限定されているので、私のCygwinウィンドウから私を強制的に別のアプリケーションに入れて、Cygwinを使ってエスケープしたと思った完全な機能をWindowsのコマンドプロンプトに表示させます。

これを解決しようと多くの時間を費やしましたが、以前は無事に動作しました。

UPDATE 2014分の4:私は、などCygwinと、すべてが今正常に動作して勝利7私のマシン全体を再構築

+1

ファイアウォールやプロキシの背後にいますか? –

+0

私は成功していない別のインターネット接続を試みた、はい私は以前に問題を引き起こしたことがなかったウイルス対策があります。プロキシはありません。 –

+3

運がいいですか?私はcygwinで同じ問題に遭遇しています。修正:ネイティブのWindowsシェル(cmd.exe)を使用すると 'git push origin master'が正常に動作します。 –

答えて

15

GIT_CURL_VERBOSE = 1つのGitのプッシュをお試しください...それが原因に発生する可能性があり、プロキシになりますgitの設定プロキシサーバー経由でgithub.comにアクセスしようとしていて、プロキシが応答していません。 GIT_CURL_VERBOSE = 1を指定すると、IPアドレスといくつかの情報が表示されます。あなたはコマンド出力 "ホストwww.github.com"のIPアドレスとIPアドレスを比較することができます。それらが異なる場合、https_proxy = ""を作り、やり直してください。

15

はsshが最大で何が表示されます~/sshv.shのようなスクリプトを作成してみてください:

#!/bin/bash 
ssh -vvv "[email protected]" 

ファイルの所有者のための~/sshv.shファイルの実行許可:

chmod u+x ~/sshv.sh 

は、その後、あなたを呼び出しますgit pushと:

GIT_SSH=~/sshv.sh git push ... 

私の場合、これは閉鎖する必要のあるssh共有接続を使用していることを知ったので、それらのsshプロセスを強制終了し、動作し始めました。

+0

それは私のために非常に役立った - ありがとう! –

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

これは私に役立ちました。プロンプトが表示されるまでに3〜5秒かかることがあります。ログイン資格情報を入力するだけでよいです。

+0

それは私の問題を解決しました、ありがとう! – HankCa

+0

これを実行したところ、「エラー:git-gui-askpassを実行できません:そのようなファイルやディレクトリはありません」というメッセージが表示され続けます。 –

+1

@hello_there_andy [this](http://stackoverflow.com/questions/30294980/git-gui-askpass-no-such-file-or-directory)が役立ちます。 – forloop

6

これは、cygwin gitまたは外部git(github)を使用しているかどうかを確認する価値があります。

whereis gitがちょうど/cygdrive/c/Program Files (x86)/Git/cmd/git.exeまたは同等のものを返してcygwin gitパッケージをインストールすると、これが私の問題を解決しました。

0

それは私がいたのと同じことだ場合、私は思ったんだけど...

  1. パテ
  2. に入る
  3. クリックして保存されたセッションでは、「デフォルト設定」に。 Connectionにロードに
  4. Go]をクリックしてください - > SSH - >バグ
  5. 設定は、On(代わりのオート)の
  6. ツリービューでのセッションに
  7. 戻る(トップに "パテのSSH-2 'winadjの要求にチョーク"リスト)
  8. [Saved Sessions]ボックスの[Default Settings]をクリックします。 [保存]をクリックします。

このは(ほとんど逐語的に)ここでは、これが私のために発生したhttps://tortoisegit.org/issue/1880

-1

から来て、私は固定する方法です。私はCygwinを使用し、それは私がコミット上のユーザ名/パスワードの入力を求める試みた絞首刑:

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

私はgit push -u origin masterを実行すると、ユーザー名・パスワードを入力したら、それはまだハングアップしましたが、GitHubのにコミットするように見えました。

dosプロンプトから同じコマンドを使用しました。git push -u origin master Gitがハングしません。私の場合、CygWinに関連した問題かもしれません。

1

AWS EC2インスタンスでこの問題が発生していると言いたいだけです。ロードバランサからのトラフィックのみを許可するように設定した場合、EC2インスタンス自体からプッシュしようとしていました。私はどこからでもHTTPを許可するようにルールを変更しましたが、それでも問題は解決しませんでした。私のセキュリティグループは、HTTPS経由で自分のEC2インスタンスからのアウトバウンドトラフィックを許可しないように設定されているからです。おそらく、HTTPSをインバウンドで利用できるようにするための良い方針ですが、HTTPSインバウンドトラフィックが動作するようにすることはできませんでした。

6

私は絶対に同じ症状で同じ問題を抱えていました...私は絶望の中で私のシステム全体を再構築しようとしていました))。私も何人かの人々がここで提案したが、それが機能しなかったとしてgit config --global core.askpass "git-gui--askpass"を試してとてもナイーブだった

... git pushはまだ...

を凍結された。しかし、その後、私は私のSSHエージェントでエラーが発生したことを考え出しました。だから私はssh-agentを再起動しました... PROFIT

結論:ssh接続に問題があるときは、必ずあなたのSSHエージェントとSSHDサーバーをチェックしてください...あなたの問題だったと確信しています。

+1

ssh-agentはどのように再起動しますか?私はLinuxを使用しています –

+0

'ssh-agent.exe'プロセスを終了してssh-agentを再起動しました。ウィンドウでは、 'ps -ef |それを見つけるgrep ssh '、それを駆除する' kill 'おそらく、再始動はより安全です。 @YanKingYin – ashes999

+0

@Yan King陰11月、私はLinuxについてはわかりませんが、MacではLaunchControlのGUIを使ってやっています: 'sudo launchctl stop/System/Library/LaunchAgents/org.openbsd.ssh-agent' sudo launchctl start/System/Library/LaunchAgents/org.openbsd.ssh-agent' ... Linuxがbsd launchdに似ているはずです... init-vやエージェント/デーモンを停止/起動するシステムのように...この呪文を試すことができます: 'killall ssh-agent; eval $(ssh-agent) 'を実行します。それがあなたのために働いているかどうか教えてください。 – Drew

3

以下を試してみてください。

gitの設定--global core.askpass "のgit-guiの - askpassパッケージ"

これは、資格情報を要求し、資格情報が正しいならば、 "プッシュ" 成功します。

+0

答えをありがとう。私は 'core.askpass'を設定し、' git-gui'をインストールしました。しかし、奇妙なことは、それはパスワードを要求していないだけで、私はそれをした後に変更をプッシュ! –

1

これは私のコンピュータのディスク容量がいっぱいだったときに発生しました。いくつかのファイルを削除してください&修正するごみを空にしてください。問題は、私のキーチェーンアクセスをロックしていたいくつかのプロセスがあった

1

は、私の場合...

フォースは、必ずキーチェーンアクセスが便宜上、お使いのMac

+0

これは私の場合の問題でした。幸いにも、git pushは複数のリモコンのために掛かっていたので、私はリモートのサーバに問題がないことを知っていました。 –

0

にロックされていないされていることを確認するために、すべての他のアプリを終了しました

リモートレポジトリが設定されていないと、この現象が発生する可能性があります.-私は最近、元のURLを誤ってgithu.comに変更してしまったことがわかりました。

0

大量のファイルをプッシュするときに、通常、この問題が発生します。

あなたが忍耐強く、ファイルのアップロードを完了させることができれば、何もする必要はないかもしれません。幸運 -

1

私は同じ問題がありました。 無限の複雑な解決策を心配して検索するのをやめて、 gitを削除して再インストールしてください。

sudo apt-get purge git 
sudo apt-get autoremove 
sudo apt-get install git 

です。それは今すぐ動作するはずです

0

私はgitがWindows 7の "Writing objects"の部分(gitのデフォルトのWindowsクライアントであるmsysgitを使用しています)でハングするという問題もありました。私の答えはこちらに掲載されます。

git config --global core.askpass "git-gui--askpass"私はGit push halts on "Writing Objects: 100%"のヒントを見つけたので、うまくいきませんでしたが、完璧に動作しました。git config –global sendpack.sideband false

私は最終的にコマンドラインからもう一度押すことができます!

0

私のGitウィンドウの画面が壊れたと思っていましたが、実際にはプロンプトが表示されています。それを確認して認証情報を入力してください。

関連する問題