對 Git 用户端和進行故AWS CodeCommit - AWS CodeCommit

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

對 Git 用户端和進行故AWS CodeCommit

以下資訊可以協助您對使用 Git 搭配 AWS CodeCommit 儲存庫時的常見問題進行故障診斷。如需對使用 HTTPS 或 SSH 時 Git 用戶端的相關問題進行故障診斷,也請參閱 對 Git 登入資料進行故障診斷疑難排解 SSH 連線對登入資料協助程式 (HTTPS) 進行故障診斷

Git 錯誤:錯誤:RPC 失敗;結果 =56,HTTP 代碼 = 200 嚴重:遠程端意外掛機

問題:推送大型變更、大量變更,或大型儲存庫時,長時間執行的 HTTPS 連線經常會因為網路連線問題或防火牆設定提前終止。

可能的修正:改為使用 SSH 推送,或是在您遷移大型儲存庫時遵循以增量方式移轉儲存庫。此外,請確定您未超過個別檔案的大小限制。如需詳細資訊,請參閱 配額

Git 錯誤:太多個參考更新命令

問題:每個推送的參考更新數量上限為 4,000 個。當推送包含超過 4,000 個參考更新時會顯示此錯誤。

可能的修正:嘗試使用git push --allgit push --tags。如果您有太多個標籤,請將標籤分割成多個推送。如需詳細資訊,請參閱 配額

Git 錯誤:Git 通過 HTTPS 推送在某些版本的 Git 中會損壞

問題:Curl 更新至 7.41.0 的問題導致基於 SSI 的摘要身份驗證失敗。已知受影響的 Git 版本包含 1.9.5.msysgit.1。某些版本的適用於 Windows 的 Git 登入資料可能無法完全符合 RFC 2617RFC 4559,這可能會導致使用 Git 登入資料或 AWS CLI 隨附的登入資料協助程式的 HTTPS 連線發生問題。

可能的修正:檢查您的 Git 版本是否存取已知問題或使用早期或更新版本的版本。如需 mysysgit 的更多資訊,請參閱 ​GitHub 論壇中的對 HTTPS 的推送已損壞。如需適用於 Windows 的 Git 版本問題的更多資訊,請參閱 版本 2.11.0(3) 未要求輸入使用者名稱/密碼

Git 錯誤:'gnutls_handshake () 失敗'

問題:在 Linux 中,當您嘗試使用 Git 來與 CodeCommit 儲存庫通訊時,出現含有語句的錯誤訊息。error: gnutls_handshake() failed

可能的修正:針對 OpenSSL 編譯 Git。針對一個方法,請參閱 Ask Ubuntu 論壇中的連接到 HTTPS 伺服器時出現「錯誤:gnutls_handshake () 失敗」

或者,請使用 SSH 而不是 HTTPS 來與 CodeCommit 儲存庫通訊。

Git 錯誤:Git 找不到 CodeCommit 儲存庫或沒有可存取儲存庫的許可

問題:連線字串中的結尾斜線可能導致連線嘗試失敗。

可能的修正:確定您已為儲存庫提供正確的名稱和連線字串,並且沒有結尾斜線。如需詳細資訊,請參閱 連接到儲存庫

窗口上的 Git:沒有支援的身份驗證方法可供使用(公鑰)

問題:在您為 Windows 設定 SSH 存取之後,嘗試使用命令 (例如git pullgit push, 或git clone

可能的修正:此錯誤的最常見原因是您的電腦上存在 GIT_SSH 環境變數,並且已設定可支援其他連線公用程式,例如 PuTTY。若要修正此問題,請嘗試下列其中一項:

  • 開啟 Bash 模擬器,並在 Git 命令之前新增 GIT_SSH_COMMAND="ssh" 參數。例如,如果您嘗試複製儲存庫,不要輸入 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 模擬器工作階段,並再次嘗試您的命令。

如需有關在 Windows 上使用 SSH 時對 Git 問題進行故障診斷的詳細資訊,請參閱 疑難排解 SSH 連線