web-dev-qa-db-ja.com

GitHubにプッシュするとGit Pushがハングしますか?

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

私はまだ新しく、学んでいます。

私が入ります git Pushgit Push Origin master または 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をアンインストールしました。 Github for Windows GUIアプリをインストールし、プッシュすることができました。しかし、このアプリの機能は限られているため、Cygwinウィンドウから別のアプリに移動し、Cygwinを使用して脱出したと思われる完全な機能のWindowsコマンドプロンプトを強制します。

これを解決するために何時間も費やしましたが、以前は問題なく動作していました、ありがとう。

UPDATE 4/2014:私はマシン全体のWin 7、Cygwinなどを再構築しましたが、すべて正常に動作しています

56
Matt Singer
git config --global core.askpass "git-gui--askpass"

これは私のために働いた。ログイン資格情報を入力するだけでプロンプトが表示されるまで3〜5秒かかる場合があります。

59
forloop

Sshの現在の状態を示す~/sshv.shなどのスクリプトを作成してみてください。

#!/bin/bash
ssh -vvv "$@"

ファイルの所有者の~/sshv.shファイルの実行を許可します。

chmod u+x ~/sshv.sh

次に、次を使用してgit Pushを呼び出します。

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

私の場合、これは、閉じる必要があるssh共有接続を使用していることを理解するのに役立ちました。そのため、これらのsshプロセスを強制終了し、動作を開始しました。

24
Matt Montag

GIT_CURL_VERBOSE = 1 git Pushを試してください...プロキシ設定により、gitがプロキシサーバー経由でgithub.comにアクセスしようとして、プロキシが応答しないために発生する可能性があります。 GIT_CURL_VERBOSE = 1の場合、IPアドレスといくつかの情報が表示されます。 IPアドレスをコマンド出力「Host www.github.com」のIPアドレスと比較できます。異なる場合は、https_proxy = ""を作成して再試行できます。

23

私はまったく同じ症状で同じ問題を抱えていました…絶望の中でシステム全体を再構築しようとしていました))。

私はgit config --global core.askpass "git-gui--askpass"一部の人がここで提案しているように、それはうまくいきませんでした…git Pushはまだフリーズしていました…

しかし、その後、SSHエージェントにエラーがあることがわかりました。だから私はssh-agentを再起動して…PROFIT

結論:ssh接続に問題がある場合は、SSHエージェントとSSHDサーバーを常に確認してください...それはあなたの問題であると確信しています(そして、それがシステムの再インストール後に機能した理由です)

9
Drew

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

_whereis git_が/cygdrive/c/Program Files (x86)/Git/cmd/git.exeなどを返すだけで、cygwin gitパッケージをインストールするのに最適な場合は、これで問題が解決しました。

6
Sam

以下を試してください。

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

これにより、資格情報の入力が求められ、資格情報が正しい場合は「プッシュ」が成功します。

5

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

3
Thakur Karthik

これは、コンピューターのディスク領域がいっぱいになったときに発生しました。いくつかのファイルを削除し、ゴミ箱を空にして修正します。

1
spsaucier

同じ問題がありました。心配と無限の複雑なソリューションの検索をやめて、gitを削除して再インストールしてください。

Sudo apt-get purge git
Sudo apt-get autoremove
Sudo apt-get install git

それでおしまい。今すぐ動作するはずです

1
gustavz

私の場合、問題はキーチェーンへのアクセスをロックしていたプロセスがあったことです...

Macでキーチェーンアクセスがロックされていないことを確認するために、他のすべてのアプリを強制終了します

1
vinzzz

それは私が持っていたものと同じかどうか疑問に思っています...

  1. PuTTYに移動
  2. 保存されたセッションの「デフォルト設定」をクリックします。ロードをクリック
  3. [接続]-> [SSH]-> [バグ]に移動します
  4. 「PuTTYのSSH-2 'winadj'要求のチョーク」を(自動ではなく)オンに設定します
  5. ツリービューのセッションに戻る(リストの上部)
  6. [保存されたセッション]ボックスの[デフォルト設定]をクリックします。保存をクリックします。

これは(ほぼ逐語的に)から来ています:

https://tortoisegit.org/issue/188

1
Dann

AWS EC2インスタンスでこの問題が発生していると言いたいだけです。ロードバランサーからのトラフィックのみを許可するように構成しているときに、EC2インスタンス自体からプッシュしようとしました。どこからでもHTTPを許可するようにルールを変更しましたが、それでも問題は解決しませんでした。その後、セキュリティグループがHTTPS経由でEC2インスタンスからのアウトバウンドトラフィックを許可しないように構成されているためだと気付きました。 HTTPS受信トラフィックを許可することはできませんでしたが、HTTPSを受信可能にすることはおそらく良いポリシーですが、.

1
jdogg

完全を期すために(このような問題は、見かけほど複雑ではない場合があります):

存在しないリモートリポジトリを設定すると、この動作が発生する可能性があります-最近、OriginのURLを誤ってgithu.com

1

また、Windows 7の「オブジェクトの書き込み」部分でgitがハングする(gitのデフォルトのWindowsクライアントであるmsysgitを使用する)問題がありました。これがGoogleで最初にヒットしたので、ここに回答を投稿します。

git config --global core.askpass "git-gui--askpass"はうまく機能しませんでしたが、いくつかの調査の後、 Git Pushは「Writing Objects:100%」で停止します を使用してgit config –global sendpack.sideband falseを使用しました。

ようやくコマンドラインからプッシュできるようになりました!

0
bas
  1. 同じ問題があった。少し混乱していましたが、問題はルートでgit init --bareを作成していたことです。つまり、権限がないためにプッシュを実行できません。代わりに新しいユーザーを作成するか、私の場合はPi Userを使用してgit init --bareを作成し、後でそれが機能するようにしました。

  2. git config --global http.postBuffer 524288000

リモートシステムにデータをPOSTするときにスマートHTTPトランスポートが使用するバッファーの最大サイズ(バイト単位)。このバッファサイズよりも大きいリクエストの場合、HTTP/1.1およびTransfer-Encoding:chunkedを使用して、大量のパックファイルがローカルに作成されるのを防ぎます。デフォルトは1 MiBで、ほとんどのリクエストで十分です。

0
the_Begin

2つのリポジトリがあり、そのうち1つを正常に機能させました。そこで、私は彼らの.git/configを比較しました。最後に働いていなかったもの:

[http]
    sslVerify = false

代わりに動作していました:

[credential]
    helper = store

.git/configを変更すると、問題が解決しました。

0
AlwaysLearning

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

我慢してファイルのアップロードを完了することができる場合は、何もする必要がないかもしれません。幸運を -

0
Po Rith