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

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

比較和合併分支 AWS CodeCommit

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

將分支與默認分支進行比較

使用 CodeCommit 控制台快速查看分支和存儲庫的默認分支之間的差異。

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

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

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

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

比較兩個特定的分支

使用 CodeCommit 控制台查看要比較的兩個分支之間的差異。

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

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

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

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

    注意

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

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

合併兩個分支(AWS CLI)

您可以使用其中一個可用的合併策略來合併 CodeCommit 儲存庫中的兩個分支,方法是執行下列其中一個指令: AWS CLI

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

注意

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

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

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

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

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

    例如,要將名為錯誤修正 -1234 的源分支合併到名為 prepro d 的存儲庫中的目標分支:MyDemoRepo

    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 選項)。

    例如,要將名為錯誤修正 -bug1234 的源分支與名為錯誤修正的目標分支合併到名為錯修正的存儲庫中: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 選項)。

    例如,要將名為 main 的源分支與名為 bug 修復 -1234 的目標分支合併到一個名為:MyDemoRepo

    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" }