View a markdown version of this page

比較和合併 中的分支 AWS CodeCommit - AWS CodeCommit

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

比較和合併 中的分支 AWS CodeCommit

您可以使用 CodeCommit 主控台來比較 CodeCommit 儲存庫中的分支。比較分支有助於快速檢視某個分支和預設分支的差異,或檢視任兩個分支間的差異。

比較分支與預設分支

使用 CodeCommit 主控台快速檢視 分支與儲存庫預設分支之間的差異。

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

  2. 在 Repositories (儲存庫) 中,選擇您要比較分支所在儲存庫的名稱。

  3. 在導覽窗格中,選擇 Commits (遞交),然後選擇 Compare commits (比較遞交) 索引標籤。

  4. 在 Destination (目的地) 中,選擇預設分支的名稱。在 Source (來源) 中,選擇您想要與預設分支比較的分支。選擇 Compare (比較)。

比較兩個特定的分支

使用 CodeCommit 主控台檢視您要比較的兩個分支之間的差異。

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

  2. 在 Repositories (儲存庫) 中,選擇您要比較分支所在儲存庫的名稱。

  3. 在導覽窗格中,選擇 Commits (遞交),然後選擇 Compare commits (比較遞交) 索引標籤。

  4. 在 Destination (目的地) 和 Source (來源) 中,選擇要比較的兩個分支,然後選擇 Compare (比較)。若要檢視變更的檔案清單,請展開變更的檔案清單。您可以透過左右並排 (分割檢視) 或內嵌 (統一檢視) 來檢視檔案中的變更。

    注意

    如果您以 IAM 使用者身分登入,則可以設定和儲存您的偏好設定,以檢視程式碼和其他主控台設定。如需詳細資訊,請參閱使用使用者偏好設定。

    兩個分支之間差異的縮寫檢視。

合併兩個分支 (AWS CLI)

您可以使用其中一個可用的合併策略,透過執行下列其中一個命令, AWS CLI 在 CodeCommit 儲存庫中合併兩個分支:

您也可以執行 create-unreferenced-merge-commit 命令來測試合併。如需詳細資訊,請參閱解決提取請求中的衝突。

注意

若要搭配 CodeCommit 使用 AWS CLI 命令,請安裝 AWS CLI。如需詳細資訊,請參閱命令列參考。

使用 在 CodeCommit AWS CLI 儲存庫中合併兩個分支
  1. 若要使用向前快轉合併策略來合併兩個分支,請執行 merge-branches-by-fast-forward 命令,並指定:

    • 包含您要合併之變更的來源分支名稱 (使用 --source-commit-specifier 選項)。

    • 您要合併變更的目的地分支名稱 (使用 --destination-commit-specifier 選項)。

    • 儲存庫的名稱 (使用 --repository-name 選項)。

    例如,若要在名為 MyDemoRepo 的儲存庫中,將名為 bugfix-1234 的來源分支合併至名為 preprod 的目的地分支:

    aws codecommit merge-branches-by-fast-forward --source-commit-specifier bugfix-bug1234 --destination-commit-specifier preprod --repository-name MyDemoRepo

    如果此命令成功執行,您會看到類似如下的輸出產生:

    { "commitId": "4f178133EXAMPLE", "treeId": "389765daEXAMPLE" }
  2. 若要使用 squash 合併策略來合併兩個分支,請執行 merge-branches-by-squash 命令,指定:

    • 包含您要合併之變更的來源分支名稱 (使用 --source-commit-specifier 選項)。

    • 您要合併變更的目的地分支名稱 (使用 --destination-commit-specifier 選項)。

    • 儲存庫的名稱 (使用 --repository-name 選項)。

    • 要包含的遞交訊息 (使用 --commit-message 選項)。

    • 用於遞交的名稱 (使用 --name 選項)。

    • 用於遞交的電子郵件地址 (使用 --email 選項)。

    例如,若要將名為 bugfix-1234 的來源分支合併到名為 bugfix-quarterly 的目的地分支 (位於名為 MyDemoRepo 的儲存庫中):

    aws codecommit merge-branches-by-squash --source-commit-specifier bugfix-bug1234 --destination-commit-specifier bugfix-quarterly --author-name "Maria Garcia" --email "maria_garcia@example.com" --commit-message "Merging in fix branches to prepare for a general patch." --repository-name MyDemoRepo

    如果此命令成功執行,您會看到類似如下的輸出產生:

    { "commitId": "4f178133EXAMPLE", "treeId": "389765daEXAMPLE" }
  3. 若要使用三向合併策略來合併兩個分支,請執行 merge-branches-by-three-way 命令,並指定:

    • 包含您要合併之變更的來源分支名稱 (使用 --source-commit-specifier 選項)。

    • 您要合併變更的目的地分支名稱 (使用 --destination-commit-specifier 選項)。

    • 儲存庫的名稱 (使用 --repository-name 選項)。

    • 要包含的遞交訊息 (使用 --commit-message 選項)。

    • 用於遞交的名稱 (使用 --name 選項)。

    • 用於遞交的電子郵件地址 (使用 --email 選項)。

    例如,若要在名為 MyDemoRepo 的儲存庫中合併名為 main 的來源分支與名為 bugfix-1234 的目的地分支:

    aws codecommit merge-branches-by-three-way --source-commit-specifier main --destination-commit-specifier bugfix-bug1234 --author-name "Jorge Souza" --email "jorge_souza@example.com" --commit-message "Merging changes from main to bugfix branch before additional testing." --repository-name MyDemoRepo

    如果此命令成功執行,您會看到類似如下的輸出產生:

    { "commitId": "4f178133EXAMPLE", "treeId": "389765daEXAMPLE" }