本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
比較和合併分支 AWS CodeCommit
您可以使用 CodeCommit 控制台來比較 CodeCommit 存儲庫中的分支。比較分支有助於快速檢視某個分支和預設分支的差異,或檢視任兩個分支間的差異。
將分支與默認分支進行比較
使用 CodeCommit 控制台快速查看分支和存儲庫的默認分支之間的差異。
請在以下位置開啟 CodeCommit 主控台。
https://console.aws.amazon.com/codesuite/codecommit/home -
在 Repositories (儲存庫) 中,選擇您要比較分支所在儲存庫的名稱。
-
在導覽窗格中,選擇 Commits (遞交),然後選擇 Compare commits (比較遞交) 索引標籤。
-
在 Destination (目的地) 中,選擇預設分支的名稱。在 Source (來源) 中,選擇您想要與預設分支比較的分支。選擇 Compare (比較)。
比較兩個特定的分支
使用 CodeCommit 控制台查看要比較的兩個分支之間的差異。
請在以下位置開啟 CodeCommit 主控台。
https://console.aws.amazon.com/codesuite/codecommit/home -
在 Repositories (儲存庫) 中,選擇您要比較分支所在儲存庫的名稱。
-
在導覽窗格中,選擇 Commits (遞交),然後選擇 Compare commits (比較遞交) 索引標籤。
-
在 Destination (目的地) 和 Source (來源) 中,選擇要比較的兩個分支,然後選擇 Compare (比較)。若要檢視變更的檔案清單,請展開變更的檔案清單。您可以透過左右並排 (分割檢視) 或內嵌 (統一檢視) 來檢視檔案中的變更。
注意
如果您以 IAM 使用者身分登入,則可以設定並儲存喜好設定,以便檢視程式碼和其他主控台設定。如需詳細資訊,請參閱 使用者偏好設定。
合併兩個分支(AWS CLI)
您可以使用其中一個可用的合併策略來合併 CodeCommit 儲存庫中的兩個分支,方法是執行下列其中一個指令: AWS CLI
-
若要使用向前快轉合併策略來合併兩個分支,請執行 merge-branches-by-fast-forward 命令。
-
若要使用 squash 合併策略來合併兩個分支,請執行 merge-branches-by-squash 命令。
-
若要使用三向合併策略來合併兩個分支,請執行 merge-branches-by-three-way 命令。
您也可以執行 create-unreferenced-merge-commit 命令來測試合併。如需詳細資訊,請參閱解決提取請求中的衝突。
注意
若要搭配使用 AWS CLI 指令 CodeCommit,請安裝 AWS CLI. 如需詳細資訊,請參閱 命令列參考。
若要使用 AWS CLI 合併 CodeCommit 儲存庫中的兩個分支
-
若要使用向前快轉合併策略來合併兩個分支,請執行 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-specifierpreprod
--repository-nameMyDemoRepo
如果此命令成功執行,您會看到類似如下的輸出產生:
{ "commitId": "4f178133EXAMPLE", "treeId": "389765daEXAMPLE" }
-
-
若要使用 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-specifierbugfix-quarterly
--author-name "Maria Garcia
" --email "maria_garcia@example.com
" --commit-message "Merging in fix branches to prepare for a general patch.
" --repository-nameMyDemoRepo
如果此命令成功執行,您會看到類似如下的輸出產生:
{ "commitId": "4f178133EXAMPLE", "treeId": "389765daEXAMPLE" }
-
-
若要使用三向合併策略來合併兩個分支,請執行 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-specifierbugfix-bug1234
--author-name "Jorge Souza
" --email "jorge_souza@example.com
" --commit-message "Merging changes from main to bugfix branch before additional testing.
" --repository-nameMyDemoRepo
如果此命令成功執行,您會看到類似如下的輸出產生:
{ "commitId": "4f178133EXAMPLE", "treeId": "389765daEXAMPLE" }
-