選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

對登入資料協助程式和 HTTPS 連線進行故障診斷 AWS CodeCommit - AWS CodeCommit

AWS CodeCommit 不再提供給新客戶。的現有客戶 AWS CodeCommit 可以繼續正常使用服務。進一步了解」

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

AWS CodeCommit 不再提供給新客戶。的現有客戶 AWS CodeCommit 可以繼續正常使用服務。進一步了解」

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

對登入資料協助程式和 HTTPS 連線進行故障診斷 AWS CodeCommit

當您使用 AWS CLI 和 HTTPS 隨附的登入資料協助程式連線至 CodeCommit 儲存庫時,下列資訊可協助您疑難排解常見問題。

注意

雖然登入資料協助程式是使用聯合存取、身分提供者或臨時登入資料連線至 CodeCommit 的支援方法,但建議的方法是安裝和使用 git-remote-codecommit公用程式。如需詳細資訊,請參閱AWS CodeCommit 使用 git-remote-codecommit 對 HTTPS 連線的設定步驟

我在執行 git config命令以設定登入資料協助程式時收到錯誤

問題:當您嘗試執行 git config 命令來設定登入資料協助程式以與 CodeCommit 儲存庫通訊時,您會看到引數太少的錯誤,或是顯示 Git config 命令和語法的使用提示。

可能的修正:此錯誤的最常見原因是 Windows 作業系統上的 命令使用單引號,或 Linux、macOS 或 Unix 作業系統中的 命令使用雙引號。正確的語法如下:

  • Windows:git config --global credential.helper "!aws codecommit credential-helper $@"

  • Linux、macOS 或 Unix: git config --global credential.helper '!aws codecommit credential-helper $@'

嘗試複製儲存庫時,我看到讀取使用者名稱時發生錯誤

問題:當您嘗試使用登入資料協助程式複製儲存庫時,您會看到錯誤,指出系統無法讀取儲存庫 URL 的使用者名稱。

可能的修正:此錯誤的最常見原因是未在電腦上正確建立或設定 .gitconfig 檔案。開啟您的 .gitconfig 檔案,並確認登入資料協助程式已正確設定。如果您在執行 Linux、macOS 或 Unix 的電腦上,也請確定 $HOME 的值已針對您的系統正確設定。

我在 Windows 中使用登入資料協助程式時發生找不到命令的錯誤

問題:更新 AWS CLI 之後,登入資料協助程式連線至 CodeCommit 儲存庫失敗,並顯示 aws codecommit credential-helper $@ get: aws: command not found

原因:此錯誤的最常見原因是您的 AWS CLI 版本已更新為使用 Python 3 的版本。這是 MSI 套件的已知問題。若要驗證您是否具有受影響的版本,請開啟命令列並執行下列命令:aws --version

如果輸出 Python 版本開頭為 3,表示您具有受影響的版本。例如:

aws-cli/1.16.62 Python/3.6.2 Darwin/16.7.0 botocore/1.12.52

可能的修正:您可執行以下其中一項來解決此問題:

  • 在 Windows AWS CLI 上使用 Python 和 pip 而非 MSI 安裝和設定 。如需詳細資訊,請參閱在 Windows AWS CLI 上安裝 Python、pip 和

  • 手動編輯 .gitconfig 檔案,變更 [credential] 區段來明確指向本機電腦上的 aws.cmd。例如:

    [credential] helper = !"\C:\\Program Files\\Amazon\\AWSCLI\\bin\\aws.cmd\" codecommit credential-helper $@ UseHttpPath = true
  • 執行 git config 命令來更新 .gitconfig 檔案以明確參考 aws.cmd,並視需要手動更新 PATH 環境變數來包含命令的路徑。例如:

    git config --global credential.helper "!aws.cmd codecommit credential-helper $@" git config --global credential.UseHttpPath true

當我連線到 CodeCommit 儲存庫時,系統會提示我輸入使用者名稱

問題:當您嘗試使用登入資料協助程式與 CodeCommit 儲存庫通訊時,會出現訊息,提示您輸入使用者名稱。

可能的修正:設定您的 AWS 設定檔,或確定您使用的設定檔是您設定用於 CodeCommit 的設定檔。如需設定的詳細資訊,請參閱使用 AWS CLI 登入資料協助程式設定 HTTPS 連線至 Linux、macOS 或 Unix 上 AWS CodeCommit 儲存庫的步驟使用 AWS CLI 登入資料協助程式在 Windows 上將 HTTPS 連線至 AWS CodeCommit 儲存庫的設定步驟。如需 IAM、存取金鑰和私密金鑰的詳細資訊,請參閱管理 IAM 使用者的存取金鑰如何取得登入資料?

Git for macOS:我已成功設定登入資料協助程式,但現在我無法存取儲存庫 (403)

問題:在 macOS 上,登入資料協助程式似乎未如預期般存取或使用登入資料。這可能是因為兩個不同的問題所導致:

  • AWS CLI 設定為與儲存庫存在的 AWS 區域 不同的 。

  • Keychain Access 公用程式所儲存的登入資料那時已過期。

可能的修正:若要驗證 AWS CLI 是否已針對正確的區域設定,請執行 aws configure命令,並檢閱顯示的資訊。如果 CodeCommit 儲存庫與針對 顯示的儲存庫 AWS 區域 不同 AWS CLI,您必須執行 aws configure命令,並將值變更為適合該區域的值。如需詳細資訊,請參閱步驟 1:CodeCommit 的初始組態

OS X 和 macOS 上發行的預設 Git 版本使用 Keychain Access 公用程式來儲存產生的憑證。基於安全考量,為存取 CodeCommit 儲存庫而產生的密碼是暫時的,因此存放在金鑰鏈中的登入資料會在大約 15 分鐘後停止運作。如果您只使用 CodeCommit 存取 Git,請嘗試下列動作:

  1. 在終端機,執行 git config 命令來尋找 Keychain Access 公用程式定義所在的 Git 組態檔案 (gitconfig)。根據您的本機系統和偏好設定,您可能會有多個 gitconfig 檔案。

    git config -l --show-origin | grep credential

    在此命令的輸出中,搜尋類似以下的結果:

    file:/path/to/gitconfig credential.helper=osxkeychain

    在此行開始處所列的檔案為您必須編輯的 Git 組態檔案。

  2. 若要編輯 Git 設定檔,請使用純文字編輯器或執行下列命令:

    nano /usr/local/git/etc/gitconfig
  3. 使用以下其中一個策略修改組態:

    • 註解或刪除包含 的登入資料區段helper = osxkeychain。例如:

      # helper = osxkeychain
    • 同時更新 aws credential helperosxkeychain登入資料協助程式區段,以取得內容。例如,如果 osxkeychain 用於向 GitHub 進行身分驗證:

      [credential "https://git-codecommit.us-east-1.amazonaws\.com"] helper = !aws --profile CodeCommitProfile codecommit credential-helper $@ UseHttpPath = true [credential "https://github.com"] helper = osxkeychain

      在此組態中,當遠端主機符合 "https://github.com" 時,Git 將使用osxkeychain協助程式,當遠端主機符合 "https://git-codecommit\.us-east-1\.amazonaws.com" 時,將使用登入資料協助程式。

    • 在登入資料協助程式之前包含空的字串協助程式。例如,使用名為 CodeCommitProfile 的設定檔搭配 CLI 時,若要不使用osxkeychain協助程式:

      [credential] helper = helper = !aws --profile CodeCommitProfile codecommit credential-helper $@ UseHttpPath = true
      提示

      如果您想要排除所有設定檔,您也可以將空字串協助程式行後面的 行設定為不符合 CodeCommit:

      helper = !aws codecommit credential-helper $@

    或者,如果您要繼續使用 Keychain Access 公用程式來快取其他 Git 儲存庫的登入資料,請修改標頭而非將它變更為註解。例如,若要允許 GitHub 快取的登入資料,您可以修改標頭,如下所示:

    [credential "https://github.com"] helper = osxkeychain

如果您使用 Git 存取其他儲存庫,您可以設定 Keychain Access 公用程式,使其不會為 CodeCommit 儲存庫提供登入資料。若要設定 Keychain Access 公用程式:

  1. 開啟 Keychain Access 公用程式。(您可以使用 Finder 找到它。)

  2. 搜尋git-codecommit.us-east-2.amazonaws.com並將 us-east-2 取代為儲存 AWS 區域 庫所在的 。反白此列,開啟操作功能表 (按一下滑鼠右鍵),然後選擇 Get Info (取得資訊)

  3. 選擇 Access Control (存取控制) 標籤。

  4. Confirm before allowing access (允許存取之前確認) 中,選擇 git-credential-osxkeychain,然後選擇減號從清單移除它。

    注意

    從清單移除 git-credential-osxkeychain 之後,每當您執行 Git 命令時就會看到對話方塊。選擇 Deny (拒絕) 以繼續。如果您覺得快顯的干擾性太大,以下是一些替代選項:

如果想要讓 Git 完全無法使用 Keychain Access 公用程式,您可以設定 Git 以停止使用 osxkeychain 做為登入資料協助程式。例如,如果您開啟終端機並執行命令 git config --system credential.helper,而它傳回 osxkeychain,就表示 Git 設定為使用 Keychain Access 公用程式。您可以執行下列命令來加以變更:

git config --system --unset credential.helper

請注意,使用 --system選項執行此命令會變更所有使用者的全系統 Git 行為,而這可能會對其他使用者造成意外後果,如果您除了 CodeCommit 之外還使用其他儲存庫服務,則可能會對其他儲存庫造成意外後果。另外,此方法可能需要使用 sudo,而且您的帳戶可能沒有可套用此變更的足夠系統許可。請務必再次執行 git config --system credential.helper 命令來驗證已成功套用命令。如需詳細資訊,請參閱自訂 Git - Git 組態Stack Overflow 上的此文章

適用於 Windows 的 Git:我已安裝適用於 Windows 的 Git,但現在拒絕我存取儲存庫 (403)

問題:在 Windows 上,登入資料協助程式似乎未如預期存取或使用您的登入資料。這可能是因為不同的問題所導致:

  • AWS CLI 設定為與儲存庫存在的 AWS 區域 不同的 。

  • 根據預設,Git for Windows 會安裝與使用登入資料協助程式的 CodeCommit 連線不相容的 Git AWS Credential Manager 公用程式。安裝後,即使登入資料協助程式已安裝 AWS CLI 並設定為連線至 CodeCommit,它仍會導致儲存庫的連線失敗。

  • 某些版本的適用於 Windows 的 Git 登入資料可能無法完全符合 RFC 2617RFC 4559,這可能會導致 Git 登入資料和 AWS CLI隨附的登入資料協助程式的問題。如需詳細資訊,請參閱版本 2.11.0(3) 未請求輸入使用者名稱/密碼

可能的修正:

  • 如果您嘗試使用 隨附的登入資料協助程式 AWS CLI,請考慮透過 HTTPS 與 Git 登入資料連線,而不是使用登入資料協助程式。與您的 IAM 使用者設定的 Git 登入資料與適用於 Windows 的 Git Credential Manager 相容,與登入資料協助程式不同 AWS CodeCommit。如需詳細資訊,請參閱對於使用 Git 憑證的 HTTPS 使用者

    如果您想要使用登入資料協助程式,請驗證 AWS CLI 是否設定為正確 AWS 區域、執行 aws configure命令,並檢閱顯示的資訊。如果 CodeCommit 儲存庫與針對 顯示的儲存庫位於 AWS 區域 不同的 中 AWS CLI,您必須執行 aws configure命令,並將值變更為適合該區域的值。如需詳細資訊,請參閱步驟 1:CodeCommit 的初始組態

  • 如果可能,請解除安裝並重新安裝適用於 Windows 的 Git。安裝適用於 Windows 的 Git 時,請清除在安裝 Git Credential Manager 公用程式時所用之選項的核取方塊。此 Credential Manager 與 AWS CodeCommit的登入資料協助程式不相容。如果您安裝了 Git Credential Manager 或其他登入資料管理公用程式,但不想將其解除安裝,您可以修改.gitconfig檔案並新增 CodeCommit 的登入資料管理:

    1. 開啟控制面板,選擇 Credential Manager,然後移除 CodeCommit 的任何儲存的登入資料。

    2. 在任何純文字編輯器 (例如記事本) 中開啟 .gitconfig 檔案。

      注意

      如果您使用多個 Git 設定檔,您可能同時有本機和全域 .gitconfig 檔案。請務必編輯適當的檔案。

    3. 將以下區段新增到您的 .gitconfig 檔案:

      [credential "https://git-codecommit.*.amazonaws.com"] helper = !aws codecommit credential-helper $@ UseHttpPath = true
    4. 儲存檔案,然後開啟新的命令列工作階段,之後再次嘗試連接。

    如果您想要在連線到 CodeCommit 儲存庫 AWS CodeCommit 時針對 使用登入資料協助程式,以及在連線到其他託管儲存庫時,使用另一個登入資料管理系統,例如 GitHub 儲存庫,您也可以使用此方法。

    若要將使用的登入資料協助程式重設為預設值,您可以在執行 git config 命令時使用 --system 選項,而不是 --global--local

  • 如果是在 Windows 電腦上使用 Git 登入資料,您可以嘗試解決任何 RFC 不相符的問題,方法是在連線字串中包括您的 Git 登入資料使用者名稱。例如,若要解決此問題,並複製美國東部 (俄亥俄) 區域中名為 MyDemoRepo 的儲存庫:

    git clone https://Your-Git-Credential-Username@git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo
    注意

    如果在您的 Git 登入資料使用者名稱中有一個 @ 字元,則這種方法將沒有作用。您必須對該字元使用 URL 編碼 (也稱為 URL 逸出或 % 編碼)。

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。