

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

# Git 和 入門 AWS CodeCommit
<a name="getting-started"></a>

如果您是 Git 和 CodeCommit 的新手，本教學課程可協助您了解一些簡單的命令，協助您開始使用。如果您已熟悉 Git，則可以略過此教學課程而直接進入 [開始使用 CodeCommit ](getting-started-cc.md)。

在本教學課程中，您會建立代表 CodeCommit 儲存庫本機複本的儲存庫，我們稱之為本機儲存庫。

建立本機儲存庫之後，您會對其進行一些變更。然後，您將變更傳送到 （推送） CodeCommit 儲存庫。

您也會模擬團隊環境，其中兩個使用者獨立地將變更遞交至其本機儲存庫，並將這些變更推送至 CodeCommit 儲存庫。然後，使用者將變更從 CodeCommit 儲存庫提取到自己的本機儲存庫，以查看其他使用者所做的變更。

您也可以在 CodeCommit 儲存庫中建立分支和標籤，並管理一些存取許可。

完成本教學課程後，您應該具備足夠的核心 Git 和 CodeCommit 概念實務，以將其用於您自己的專案。

完成[先決條件和設定](setting-up.md)，包括：
+ 將許可指派給 IAM 使用者。
+ 設定 CodeCommit 以使用 [HTTPS](setting-up-gc.md)、SSH 或 連線至儲存庫[**git-remote-codecommit**](setting-up-git-remote-codecommit.md)。如需這些選擇的詳細資訊，請參閱[設定 AWS CodeCommit](setting-up.md)。
+  AWS CLI 如果您想要對所有操作使用命令列或終端機，包括建立儲存庫，請設定 。

**Topics**
+ [步驟 1：建立 CodeCommit 儲存庫](#getting-started-create-repo)
+ [步驟 2：建立本機儲存庫](#getting-started-set-up-folders)
+ [步驟 3：建立您的第一個遞交](#getting-started-create-commit)
+ [步驟 4：推送您的第一個遞交](#getting-started-init-repo)
+ [步驟 5：共用 CodeCommit 儲存庫並推送和提取另一個遞交](#getting-started-pull-commits)
+ [步驟 6：建立和共用分支](#getting-started-branching)
+ [步驟 7：建立和共用標籤](#getting-started-tags)
+ [步驟 8：設定存取許可](#getting-started-permissions)
+ [步驟 9：清除](#getting-started-clean-up)

## 步驟 1：建立 CodeCommit 儲存庫
<a name="getting-started-create-repo"></a>

在此步驟中，您會使用 CodeCommit 主控台來建立儲存庫。

如果您已經有要使用的 CodeCommit 儲存庫，則可以略過此步驟。

**注意**  
根據您的用量，您可能需要支付建立或存取儲存庫的費用。如需詳細資訊，請參閱 CodeCommit 產品資訊頁面上的[定價](https://aws.amazon.com/codecommit/pricing)。

**建立 CodeCommit 儲存庫**

1. 在 https：//[https://console.aws.amazon.com/codesuite/codecommit/home](https://console.aws.amazon.com/codesuite/codecommit/home) 開啟 CodeCommit 主控台。

1. 使用區域選擇器選擇您要建立儲存庫的 AWS 區域 。如需詳細資訊，請參閱[區域和 Git 連線端點](regions.md)。

1. 請在 **Repositories** (儲存庫) 頁面上，選擇 **Create repository** (建立儲存庫)。

1. 在 **Create repository (建立儲存庫)** 頁面的 **Repository name (儲存庫名稱)** 中，輸入儲存庫的名稱 (例如 **MyDemoRepo**)。
**注意**  
儲存庫名稱需區分大小寫且不能超過 100 個字元。如需詳細資訊，請參閱[限制](limits.md#limits-repository-names)。

1. (選用) 在 **Description (描述)** 中，輸入描述 (例如，**My demonstration repository**)。這可協助您和其他使用者識別儲存庫的用途。

1. （選用） 選擇**新增標籤**，將一或多個儲存庫標籤 （可協助您組織和管理 AWS 資源的自訂屬性標籤） 新增至儲存庫。如需詳細資訊，請參閱[在 中標記儲存庫 AWS CodeCommit](how-to-tag-repository.md)。

1. （選用） 展開**其他組態**，以指定是否使用預設值 AWS 受管金鑰 或您自己的客戶受管金鑰來加密和解密此儲存庫中的資料。如果您選擇使用自己的客戶受管金鑰，則必須確保它在您建立儲存庫 AWS 區域 的 中可用，且金鑰處於作用中狀態。如需詳細資訊，請參閱[AWS Key Management Service 和 AWS CodeCommit 儲存庫的加密](encryption.md)。

1. （選用） 如果此儲存庫將包含 **Java 或 Python 程式碼，且您希望 CodeGuru Reviewer 分析該程式碼，請選取啟用適用於 Java 和 Python 的 Amazon** CodeGuru Reviewer。CodeGuru Reviewer 使用多個機器學習模型來尋找程式碼瑕疵，並在提取請求中自動建議改進和修正。如需詳細資訊，請參閱 Amazon CodeGuru Reviewer 使用者指南。

1. 選擇**建立**。

**注意**  
本教學課程中的其餘步驟會使用 `MyDemoRepo` 做為 CodeCommit 儲存庫的名稱。如果您選擇不同名稱，請在此教學課程中都使用此名稱。

如需有關建立儲存庫的詳細資訊，包括如何從終端機或命令列建立儲存庫，請參閱[建立 儲存庫](how-to-create-repository.md)。

## 步驟 2：建立本機儲存庫
<a name="getting-started-set-up-folders"></a>

在此步驟中，您要在本機電腦上設定本機儲存庫，以連接至您的儲存庫。若要這樣做，請在本機電腦上選取可代表本機儲存庫的目錄。您可以使用 Git 複製並初始化該目錄內空的 CodeCommit 儲存庫副本。然後，指定用於註釋遞交的 Git 使用者名稱和電子郵件地址。

1. 在 https：//[https://console.aws.amazon.com/codesuite/codecommit/home](https://console.aws.amazon.com/codesuite/codecommit/home) 開啟 CodeCommit 主控台。

1. 在區域選擇器中，選擇建立儲存庫 AWS 區域 的 。儲存庫專屬於 AWS 區域。如需詳細資訊，請參閱[區域和 Git 連線端點](regions.md)。

1. 尋找您要從清單連接的儲存庫並加以選擇。選擇 **Clone URL (複製 URL)**，然後選擇複製和連線至儲存庫時要使用的通訊協定。這會將複製 URL 複製。
   + 如果您使用 Git 登入資料搭配 IAM 使用者或 隨附的登入資料協助程式，請複製 HTTPS URL AWS CLI。
   + 如果您是在本機電腦上使用 **git-remote-codecommit** 命令，請複製 HTTPS (GRC) URL。
   + 如果您搭配 IAM 使用者使用 SSH 公有/私有金鑰對，請複製 SSH URL。
**注意**  
 如果您看到**歡迎**頁面，而不是儲存庫清單，則在您登入 AWS 區域 的 中，沒有與 AWS 您的帳戶相關聯的儲存庫。要建立儲存庫，請參閱 [建立 AWS CodeCommit 儲存庫](how-to-create-repository.md) 或依照 [Git 和 CodeCommit 入門](#getting-started) 教學課程中的步驟。

1. （選用） 建議您將本機 Git 用戶端設定為使用 **main**做為儲存庫預設分支的名稱。這是本指南中所有範例的預設分支所使用的名稱。如果您在主控台中進行第一次遞交，也是 CodeCommit 使用的相同預設分支名稱。執行下列命令，為您的系統全域設定預設分支名稱：

   ```
   git config --global init.defaultBranch main
   ```

   如果您偏好為所有儲存庫使用不同的預設分支名稱，請將 取代**main**為您偏好的名稱。本教學假設您的預設分支已命名為*主要*分支。

   如果您想要對不同的儲存庫使用不同的預設分支名稱，您可以在本機 (**--local**) 而不是全域 () 設定此屬性**--global**。

1. 在終端機或命令提示字元中，使用 **git clone**命令複製儲存庫，並提供您在步驟 3 中複製的複製 URL。您的複製 URL 取決於您使用的通訊協定和組態。例如，如果您使用 HTTPS 搭配 Git 登入資料來複製美國東部 （俄亥俄） 區域中名為 *MyDemoRepo* 的儲存庫：

   ```
   git clone https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo
   ```

   如果您是使用 HTTPS 搭配 **git-remote-codecommit**：

   ```
   git clone codecommit://MyDemoRepo my-demo-repo
   ```

   如果您是使用 SSH：

   ```
   git clone ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo
   ```
**注意**  
如果您在嘗試複製儲存庫時出現錯誤，您可能尚未完成本機電腦所需的設定作業。如需詳細資訊，請參閱[設定 AWS CodeCommit](setting-up.md)。

## 步驟 3：建立您的第一個遞交
<a name="getting-started-create-commit"></a>

在此步驟中，您會在本機儲存庫中建立第一個遞交。若要這樣做，請在本機儲存庫中建立兩個範例檔案。您可以使用 Git 將變更暫存到本機儲存庫，然後將變更遞交到本機儲存庫。

1. 使用文字編輯器，在您目錄中建立以下兩個範例文字檔案。將檔案命名為 `cat.txt` 和 `dog.txt`：

   ```
   cat.txt
   -------
   The domestic cat (Felis catus or Felis silvestris catus) is a small, usually furry, domesticated, and carnivorous mammal.
   ```

   

   ```
   dog.txt
   -------
   The domestic dog (Canis lupus familiaris) is a canid that is known as man's best friend.
   ```

1. 執行 **git config**，將您的使用者名稱和電子郵件地址 (以 *your-user-name* 和 *your-email-address* 預留位置表示) 新增到本機儲存庫。這可讓您更輕鬆地識別您所做的遞交：

   ```
   git config --local user.name "your-user-name"
   git config --local user.email your-email-address
   ```

1. 如果您在建立本機儲存庫時未全域設定預設分支名稱，請執行下列命令，將預設分支名稱設定為 **main**：

   ```
   git config --local init.defaultBranch main
   ```

1. 執行 **git add** 來暫存變更：

   ```
   git add cat.txt dog.txt
   ```

1. 執行 **git commit** 來遞交變更：

   ```
   git commit -m "Added cat.txt and dog.txt"
   ```
**提示**  
若要查看您剛完成之遞交的詳細資訊，請執行 **git log**。

## 步驟 4：推送您的第一個遞交
<a name="getting-started-init-repo"></a>

在此步驟中，您將遞交從本機儲存庫推送到 CodeCommit 儲存庫。

**git push** 執行 從本機儲存庫 () 中的預設分支，透過 Git 用於 CodeCommit 儲存庫 (`origin`) 的預設遠端名稱推送您的遞交`main`：

```
git push -u origin main
```

**提示**  
將檔案推送至 CodeCommit 儲存庫之後，您可以使用 CodeCommit 主控台來檢視內容。如需詳細資訊，請參閱[瀏覽儲存庫中的檔案](how-to-browse.md)。

## 步驟 5：共用 CodeCommit 儲存庫並推送和提取另一個遞交
<a name="getting-started-pull-commits"></a>

在此步驟中，您會與團隊成員分享 CodeCommit 儲存庫的相關資訊。團隊成員會使用此資訊來取得本機複本、進行一些變更，然後將修改後的本機複本推送至 CodeCommit 儲存庫。然後，將變更從 CodeCommit 儲存庫提取到本機儲存庫。

在此教學課程中，您模擬該同事使用者，在您於[步驟 2](#getting-started-set-up-folders) 建立的目錄以外，讓 Git 再建立另一個目錄。(通常，此目錄位於不同的機器上)。此新目錄是 CodeCommit 儲存庫的副本。您對現有目錄或這個新目錄所做的任何變更彼此無關。識別這些目錄變更的唯一方法是從 CodeCommit 儲存庫提取 。

即使這些目錄在相同的本機機器上，我們仍分別將現有目錄稱為*本機儲存庫*，而將新目錄稱為*共用儲存庫*。

從新目錄中，您可以取得 CodeCommit 儲存庫的個別副本。然後，您可以新增範例檔案、將變更遞交至共用儲存庫，然後將遞交從共用儲存庫推送至 CodeCommit 儲存庫。

最後，您將變更從儲存庫提取到本機儲存庫，然後瀏覽它以查看其他使用者遞交的變更。

1. 切換到 `/tmp` 目錄或 `c:\temp` 目錄。

1. 執行 **git clone**，將儲存庫的副本提取到共用儲存庫：

   針對 HTTPS：

   ```
   git clone https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo shared-demo-repo
   ```

   針對搭配 **git-remote-codecommit** 的 HTTPS：

   ```
   git clone codecommit://MyDemoRepo shared-demo-repo
   ```

   針對 SSH：

   ```
   git clone ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo shared-demo-repo
   ```
**注意**  
當您在 Windows 作業系統上使用 SSH 複製儲存庫時，您可能需要將 SSH 金鑰 ID 新增到連線字串，如下所示：  

   ```
   git clone ssh://Your-SSH-Key-ID@git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo
   ```
如需詳細資訊，請參閱[Windows 上的 SSH 連線](setting-up-ssh-windows.md)。

   在此命令中， `MyDemoRepo`是 CodeCommit 儲存庫的名稱。 `shared-demo-repo`是 Git 在 `/tmp` 目錄或 `c:\temp`目錄中建立的目錄名稱。在 Git 建立目錄之後，Git 將儲存庫的副本提取到 `shared-demo-repo` 目錄。

1. 切換到 `shared-demo-repo` 目錄：

   ```
   (For Linux, macOS, or Unix) cd /tmp/shared-demo-repo
   (For Windows) cd c:\temp\shared-demo-repo
   ```

1. 執行 **git config** 來新增另一個使用者名稱和電子郵件地址，以預留位置 *other-user-name* 和 *other-email-address* 表示。這可讓您更輕鬆地識別其他使用者所做的遞交：

   ```
   git config --local user.name "other-user-name"
   git config --local user.email other-email-address
   ```

1. 使用文字編輯器，在 `shared-demo-repo` 目錄中建立以下範例文字檔案。將檔案命名為 `horse.txt`：

   ```
   horse.txt
   -------
   The horse (Equus ferus caballus) is one of two extant subspecies of Equus ferus.
   ```

1. 執行 **git add**，將變更暫存到共用儲存庫：

   ```
   git add horse.txt
   ```

1. 執行 **git commit**，將變更遞交到共用儲存庫：

   ```
   git commit -m "Added horse.txt"
   ```

1. **git push** 執行 從本機儲存庫 () 中的預設分支，透過 Git 用於 CodeCommit 儲存庫 (`origin`) 的預設遠端名稱推送初始遞交`main`：

   ```
   git push -u origin main
   ```

1. 切換到本機儲存庫並執行 **git pull** ，將遞交到 CodeCommit 儲存庫的共用儲存庫提取到本機儲存庫。然後執行 **git log**，以查看從共用儲存庫起始的遞交。

## 步驟 6：建立和共用分支
<a name="getting-started-branching"></a>

在此步驟中，您會在本機儲存庫中建立分支，進行一些變更，然後將分支推送到您的 CodeCommit 儲存庫。然後，從 CodeCommit 儲存庫將分支提取至共用儲存庫。

分支可讓您單獨開發不同版本的儲存庫內容 (例如，試用新的軟體功能，而不會影響團隊成員的工作)。當該功能穩定之後，便將分支合併到軟體中更穩定的分支。

您會使用 Git 建立分支，然後將分支指向您所做的第一個遞交。您可以使用 Git 將分支推送至 CodeCommit 儲存庫。然後，切換到共用儲存庫，並使用 Git 將新分支提取到共用的本機儲存庫，並探索分支。

1. 從本機儲存庫中，執行 **git checkout**，指定分支的名稱 （例如 `MyNewBranch`) 和您在本機儲存庫中所做的第一個遞交的 ID。

   如果您不知道遞交 ID，請執行 **git log** 以取得 ID。請確定遞交具有您的使用者名稱和電子郵件地址，而不是其他使用者的使用者名稱和電子郵件地址。這是為了模擬 `main` 是 CodeCommit 儲存庫的穩定版本，而`MyNewBranch`分支適用於一些相對不穩定的新功能：

    

   ```
   git checkout -b MyNewBranch commit-ID
   ```

1. 執行 **git push** 將新的分支從本機儲存庫傳送至 CodeCommit 儲存庫：

   ```
   git push origin MyNewBranch
   ```

1. 現在，將分支提取到共用儲存庫並檢查結果：

   1. 切換到共用儲存庫目錄 (shared-demo-repo)。

   1. 提取新的分支 (**git fetch origin**)。

   1. 確認已提取分支 (**git branch --all** 會顯示儲存庫所有分支的清單)。

   1. 切換到新的分支 (**git checkout MyNewBranch**)。

   1. 確認您已執行 **git status** 或 **git branch** 以切換到 `MyNewBranch` 分支。輸出顯示您所在的分支。在此案例中應該是 `MyNewBranch`。

   1. 檢視分支中的遞交清單 (**git log**)。

   以下是需要呼叫的 Git 命令清單：

   ```
   git fetch origin
   git branch --all
   git checkout MyNewBranch
   git branch or git status
   git log
   ```

1. 切換回 `main` 分支並檢視其遞交清單。Git 命令應如下所示：

    

   ```
   git checkout main
   git log
   ```

1. 切換到本機儲存庫中的`main`分支。您可以執行 **git status** 或 **git branch**。輸出顯示您所在的分支。在此案例中應該是 `main`。Git 命令應如下所示：

    

   ```
   git checkout main
   git branch or git status
   ```

## 步驟 7：建立和共用標籤
<a name="getting-started-tags"></a>

在此步驟中，您會在本機儲存庫中建立兩個標籤，將標籤與遞交建立關聯，然後將標籤推送至 CodeCommit 儲存庫。然後，您將變更從 CodeCommit 儲存庫提取到共用儲存庫。

標籤用於讓遞交 (或分支，甚至是另一個標籤) 有一個人類可讀的名稱。例如，如果想要將遞交加上標籤 `v2.1`，就可以這樣做。遞交、分支或標籤可以擁有任何數量相關聯的標籤數目，但個別標籤只能與一個遞交、分支或標籤相關聯。在此教學課程中，您會將一個遞交加上 `release` 標籤，而將另一個遞交加上 `beta` 標籤。

您會使用 Git 建立標籤，並將 `release` 標籤指向您所做的第一個遞交，而將 `beta` 標籤指向另一個使用者所做的遞交。然後，您可以使用 Git 將標籤推送至 CodeCommit 儲存庫。然後，切換到共用儲存庫，並使用 Git 將標籤提取到共用的本機儲存庫，並探索標籤。

1. 從本機儲存庫中，執行 **git tag**，指定新標籤的名稱 (`release`) 和您在本機儲存庫中所做的第一個遞交 ID。

   如果您不知道遞交 ID，請執行 **git log** 以取得 ID。請確定遞交具有您的使用者名稱和電子郵件地址，而不是其他使用者的使用者名稱和電子郵件地址。這是為了模擬您的遞交是 CodeCommit 儲存庫的穩定版本：

   ```
   git tag release commit-ID
   ```

   執行 **git tag**，將另一個使用者所做的遞交加上 `beta` 標籤。這是為了模擬遞交是一些較不穩定的新功能：

    

   ```
   git tag beta commit-ID
   ```

1. 執行 **git push --tags**將標籤傳送至 CodeCommit 儲存庫。

1. 現在，將標籤提取到共用儲存庫並檢查結果：

   1. 切換到共用儲存庫目錄 (shared-demo-repo)。

   1. 提取新的標籤 (**git fetch origin**)。

   1. 確認已提取標籤 (**git tag** 會顯示儲存庫的標籤清單)。

   1. 檢視每個標籤 (**git log release** 和 **git log beta**) 的相關資訊。

   以下是需要呼叫的 Git 命令清單：

   ```
   git fetch origin
   git tag
   git log release
   git log beta
   ```

1. 也請在本機儲存庫中試用：

   ```
   git log release
   git log beta
   ```

## 步驟 8：設定存取許可
<a name="getting-started-permissions"></a>

在此步驟中，您會授予使用者將共用儲存庫與 CodeCommit 儲存庫同步的許可。此為選用步驟。對於有興趣了解如何在使用者使用 Git 登入資料或 SSH 金鑰對時控制 CodeCommit 儲存庫存取權的使用者，建議與 IAM 使用者搭配使用以存取 CodeCommit 儲存庫。

**注意**  
如果您使用聯合存取、臨時登入資料或 Web 身分提供者，例如 IAM Identity Center，請設定身分提供者的使用者、存取和許可，然後使用 **git-remote-codecommit**。如需詳細資訊，請參閱[AWS CodeCommit 使用 git-remote-codecommit 對 HTTPS 連線的設定步驟](setting-up-git-remote-codecommit.md)及[使用輪換憑證連線至 AWS CodeCommit 儲存庫](temporary-access.md)。

若要這樣做，您可以使用 IAM 主控台來建立使用者，該使用者依預設沒有將共用儲存庫與 CodeCommit 儲存庫同步的許可。您可以執行 **git pull** 來驗證是否如此。如果新使用者沒有同步的許可，則命令不會有作用。然後，返回 IAM 主控台並套用允許使用者使用 的政策**git pull**。同樣地，您可以執行 **git pull** 來驗證是否如此。

此步驟是以您擁有在 Amazon Web Services 帳戶中建立 IAM 使用者的許可編寫的。如果您沒有這些許可，則無法執行此步驟中的程序。直接跳到[步驟 9：清除](#getting-started-clean-up)，以清除您用於此教學課程的資源。

1. 登入 AWS 管理主控台 ，並在 https：//[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台。

   務必使用您在 [設定 ](setting-up.md) 中使用的相同使用者名稱和密碼。

1. 在導覽窗格中，選擇 **Users (使用者)**，然後選擇 **Create New Users (建立新使用者)**。

1. 在第一個 **Enter User Names (輸入使用者名稱)** 方塊中，輸入範例使用者名稱 (例如，**JaneDoe-CodeCommit**)。選取 **Generate an access key for each user (為每位使用者產生存取金鑰)** 方塊，然後選擇 **Create (建立)**。

1. 選擇 **Show User Security Credentials (顯示使用者安全登入資料)**。記下存取金鑰 ID 和私密存取金鑰，或選擇 **Download Credentials (下載登入資料)**。

1. 遵循 中的指示[對於使用 Git 登入資料的 HTTPS 使用者](setting-up-gc.md)來產生和提供 IAM 使用者的登入資料。

   如果您想要使用 SSH，請按照 [SSH 和 Linux、macOS 或 Unix：設定 Git 和 CodeCommit 的公有和私有金鑰](setting-up-ssh-unixes.md#setting-up-ssh-unixes-keys-unixes)或 [步驟 3：設定 Git 和 CodeCommit 的公有和私有金鑰](setting-up-ssh-windows.md#setting-up-ssh-windows-keys-windows)中的指示，以公有和私有金鑰設定使用者。

1. 執行 **git pull**。應該會出現以下錯誤：

   針對 HTTPS：

    `fatal: unable to access 'https://git-codecommit.us-east-2.amazonaws.com/v1/repos/repository-name/': The requested URL returned error: 403`. 

   針對 SSH：

   `fatal: unable to access 'ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/repository-name/': The requested URL returned error: 403`. 

   出現此錯誤是因為新使用者沒有將共用儲存庫與 CodeCommit 儲存庫同步的許可。

1. 返回 IAM 主控台。在導覽窗格中，選擇 **Policies (政策)**，然後選擇 **Create Policy (建立政策)**。(出現 **Get Started (開始使用)** 按鈕時先選擇它，然後選擇 **Create Policy (建立政策)**。)

1. 在**建立您自己的政策**旁邊，選擇**選取**。

1. 在 **Policy Name (政策名稱)** 方塊中，輸入名稱 (例如，**CodeCommitAccess-GettingStarted**)。

1. 在**政策文件**方塊中，輸入下列項目，以允許 IAM 使用者從與 IAM 使用者相關聯的任何儲存庫中提取：

    

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "codecommit:GitPull"
         ],
         "Resource": "*"
       }
     ]
   }
   ```

------

    
**提示**  
如果您希望 IAM 使用者能夠將遞交推送到與 IAM 使用者相關聯的任何儲存庫，請改為輸入以下內容：  

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "codecommit:GitPull",
           "codecommit:GitPush"
         ],
         "Resource": "*"
       }
     ]
   }
   ```
如需有關您可以提供給使用者的其他 CodeCommit 動作和資源許可的資訊，請參閱 [的身分驗證和存取控制 AWS CodeCommit](auth-and-access-control.md)。

1. 在導覽窗格中，選擇**使用者** 。

1. 選擇您要連接政策的範例使用者名稱 (例如，**JaneDoe-CodeCommit**)。

1. 選擇**許可**索引標籤。

1. 在 **Managed Policies (受管政策)** 中，選擇 **Attach Policy (連接政策)**。

1. 選取您剛建立的 **CodeCommitAccess-GettingStarted** 政策，然後選擇 **Attach Policy (連接政策)**。

1. 執行 **git pull**。這一次，命令應該有作用，也應該會出現 `Already up-to-date` 訊息。

1. 如果您是使用 HTTPS，請切換到您的原始 Git 登入資料，或者如果您是使用 **git-remote-codecommit**，則請使用您平常使用的描述檔。如需詳細資訊，請參閱[使用 Git 登入資料為 HTTPS 使用者設定](setting-up-gc.md)或[AWS CodeCommit 使用 git-remote-codecommit 對 HTTPS 連線的設定步驟](setting-up-git-remote-codecommit.md)中的指示。

   如果是使用 SSH，請切換到您的原始金鑰。如需詳細資訊，請參閱 [SSH 和 Linux、macOS 或 Unix：設定 Git 和 CodeCommit 的公有和私有金鑰](setting-up-ssh-unixes.md#setting-up-ssh-unixes-keys-unixes) 或 [步驟 3：設定 Git 和 CodeCommit 的公有和私有金鑰](setting-up-ssh-windows.md#setting-up-ssh-windows-keys-windows) 。

您已來到此教學的最後部分。

## 步驟 9：清除
<a name="getting-started-clean-up"></a>

在此步驟中，您會刪除在本教學課程中使用的 CodeCommit 儲存庫，因此不會繼續向您收取儲存空間的費用。

您也可以移除本機電腦上的本機儲存庫和共用儲存庫，因為刪除 CodeCommit 儲存庫之後就不需要這些儲存庫。

**重要**  
刪除此儲存庫後，您將無法將其複製到任何本機儲存庫或共用儲存庫。您也無法從任何本機儲存庫或共用儲存庫中提取資料，或將資料推送至其中。這個操作無法復原。

### 刪除 CodeCommit 儲存庫 （主控台）
<a name="getting-started-clean-up-console"></a>

1. 在 https：//[https://console.aws.amazon.com/codesuite/codecommit/home](https://console.aws.amazon.com/codesuite/codecommit/home) 開啟 CodeCommit 主控台。

1. 在**儀表板**頁面的儲存庫清單中，選擇 **MyDemoRepo**。

1. 在導覽窗格中，選擇**設定**。

1. 在 **Settings (設定)** 頁面的 **Delete repository (刪除儲存庫)** 中，選擇 **Delete repository (刪除儲存庫)**。

1. 在 **Type the name of the repository to confirm deletion (輸入儲存庫名稱以確認刪除)** 旁的方塊中，輸入 **MyDemoRepo**，然後選擇 **Delete (刪除)**。

### 刪除 CodeCommit 儲存庫 (AWS CLI)
<a name="getting-started-clean-up-cli"></a>

執行 [delete-repository](how-to-delete-repository.md#how-to-delete-repository-cli) 命令：

```
aws codecommit delete-repository --repository-name MyDemoRepo
```

### 刪除本機儲存庫和共用儲存庫
<a name="getting-started-delete-repos"></a>

針對 Linux、macOS 或 Unix：

```
cd /tmp
rm -rf /tmp/my-demo-repo
rm -rf /tmp/shared-demo-repo
```

針對 Windows：

```
cd c:\temp
rd /s /q c:\temp\my-demo-repo
rd /s /q c:\temp\shared-demo-repo
```