

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Git クライアントと のトラブルシューティング AWS CodeCommit
<a name="troubleshooting-git"></a>

以下の情報は、Git を AWS CodeCommit リポジトリと共に使用するときに発生する一般的な問題のトラブルシューティングに役立つ場合があります。HTTPS または SSH を使用している場合の Git クライアント関連の問題のトラブルシューティングについては、[Git 認証情報 (HTTPS) のトラブルシューティング](troubleshooting-gc.md)、[SSH 接続のトラブルシューティング](troubleshooting-ssh.md)、[認証情報ヘルパー (HTTPS) のトラブルシューティング](troubleshooting-ch.md)を参照してください。

**Topics**
+ [Git エラー: error: RPC failed; result=56, HTTP code = 200 fatal: リモートエンドが予期せず切断されました](#troubleshooting-ge1)
+ [Git エラー: リファレンスアップデートコマンドが多すぎる](#troubleshooting-ge2)
+ [Git エラー: Git の一部のバージョンで HTTPS 経由のプッシュが切断される](#troubleshooting-ge3)
+ [Git エラー: 'gnutls\$1handshake() failed'](#troubleshooting-ge4)
+ [Git エラー: Git で CodeCommit リポジトリを見つけることができない、またはリポジトリへのアクセス許可がない](#troubleshooting-ge5)
+ [Windows 上の Git: 利用できる認証メソッド (パブリックキー) がサポートされていない](#troubleshooting-gw1)

## Git エラー: error: RPC failed; result=56, HTTP code = 200 fatal: リモートエンドが予期せず切断されました
<a name="troubleshooting-ge1"></a>

**問題:** 大きな変更、多数の変更、大きなリポジトリのいずれかをプッシュすると、ネットワーク問題またはファイアウォール設定が原因で、長時間実行されている HTTPS 接続が切断されることがあります。

**解決方法:** SSH を使用してプッシュするか、大きなリポジトリに移行する場合は、[リポジトリの段階的移行](how-to-push-large-repositories.md) の手順を実行します。また、個々のファイルのサイズ制限を超えていないことを確認してください。詳細については、「[クォータ](limits.md)」を参照してください。

## Git エラー: リファレンスアップデートコマンドが多すぎる
<a name="troubleshooting-ge2"></a>

**問題:** 1 回のプッシュあたりの最大リファレンスアップデート数は 4,000 回です。プッシュにリファレンスアップデートが 4,001 回以上が含まれていると、このエラーが表示されます。

**解決方法:** `git push --all` および `git push --tags` を使用して、ブランチおよびタグのプッシュを個別にお試しください。タグが多数ある場合は、タグを複数のプッシュに分割します。詳細については、「[クォータ](limits.md)」を参照してください。

## Git エラー: Git の一部のバージョンで HTTPS 経由のプッシュが切断される
<a name="troubleshooting-ge3"></a>

**問題:** curl を 7.41.0 にアップデートする際の問題が原因で、SSPI ベースのダイジェスト認証が失敗することがあります。影響のある Git の既知バージョンのひとつに、1.9.5.msysgit.1 があります。Git for Windows のバージョンによっては、「[RFC 2617](https://tools.ietf.org/html/rfc2617#page-5)」および「[RFC 4559](https://tools.ietf.org/html/rfc4559#page-2)」との完全な互換性がない場合があります。これにより、Git 認証情報、または AWS CLIに含まれている認証情報ヘルパーを使用する HTTPS 接続で問題が生じることがあります。

**解決方法:** 既知の問題の可能性についてお使いの Git バージョンを確認するか、前後のバージョンを使用します。mysysgit に関する詳細については、GitHub フォーラムの「[HTTPS へのプッシュが切断される](https://github.com/msysgit/git/issues/332)」を参照してください。Git for Windows バージョンの問題の詳細については、「[バージョン 2.11.0(3) でユーザー名/パスワードの入力画面が表示されない](https://github.com/git-for-windows/git/issues/1034)」を参照してください。

## Git エラー: 'gnutls\$1handshake() failed'
<a name="troubleshooting-ge4"></a>

**問題:** Linux で、Git を使用して CodeCommit リポジトリと接続しようとすると、エラーメッセージ `error: gnutls_handshake() failed` が表示される。

**解決方法:** OpenSSL に対して Git をコンパイルします。アプローチについては、Ask Ubuntu フォーラムの「[HTTPS サーバーへの接続時のエラー: gnutls\$1handshake() failed](http://askubuntu.com/questions/186847/error-gnutls-handshake-falied-when-connecting-to-https-servers)」を参照してください。

あるいは、HTTPS の代わりに SSH を使用して、CodeCommit リポジトリと接続します。

## Git エラー: Git で CodeCommit リポジトリを見つけることができない、またはリポジトリへのアクセス許可がない
<a name="troubleshooting-ge5"></a>

**問題:** 接続文字列の末尾にスラッシュを使用すると、接続試行が失敗する原因になります。

**解決方法:** 正しいリポジトリ名および接続文字列が入力されていること、末尾にスラッシュがないことを確認します。詳細については、「[リポジトリへの接続](how-to-connect.md)」を参照してください。

## Windows 上の Git: 利用できる認証メソッド (パブリックキー) がサポートされていない
<a name="troubleshooting-gw1"></a>

**問題:** Windows 向けに SSH アクセスを設定後、**git pull**、**git push**、または **git clone** などのコマンドの使用を試みると、アクセス拒否エラーが表示されます。

**解決方法:** このエラーの最も一般的な原因は、GIT SSH 環境変数がコンピュータに存在しており、PuTTY などの別の接続ユーティリティをサポートするように設定されていることです。この問題を解決するには、以下のいずれかをお試しください。
+ Bash エミュレーターを開き、`GIT_SSH_COMMAND="ssh"` パラメータを追加してから、Git コマンドを使用します。例えば、リポジトリのクローンを作成する場合は、**git clone ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo** ではなく、次を実行します。

  ```
  GIT_SSH_COMMAND="ssh" git clone ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo
  ```
+ 今後使用しない `GIT_SSH` 環境変数の名前を変更するか、削除します。次に、新しいコマンドプロンプト、または Bash エミュレーターセッションを開き、コマンドを再度実行してみてください。

SSH を使用しているときに Windows で Git の問題をトラブルシューティングする方法の詳細については、「[SSH 接続のトラブルシューティング](troubleshooting-ssh.md)」を参照してください。