合併提取請求 - Amazon CodeCatalyst

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

合併提取請求

在您的程式碼經過審核並且所有必要的審核者都已核准之後,您可以使用支援的合併策略 (例如快轉) 在 CodeCatalyst 主控台中合併提取請求。並非 CodeCatalyst 控制台中支援的所有合併策略都可作為所有提取請求的選擇使用。 CodeCatalyst 評估合併,只允許您在控制台中可用並能夠將源分支合併到目標分支的合併策略之間進行選擇。您也可以在本機電腦或開發環境中執行git merge命令,將來源分支合併到目的地分支,將提取要求與您選擇的 Git 合併策略合併。然後,您可以將目標分支中的這些更改推送到中的源存儲庫 CodeCatalyst。

注意

合併分支並在 Git 中推送更改不會自動關閉提取請求。

如果您具有「專案管理員」角色,您也可以選擇合併尚未符合所有核准與核准規則需求的提取請求。

合併提取請求(控制台)

如果來源和目的地分支之間沒有合併衝突,且所有必要的審核者都已核准提取請求,您可以在 CodeCatalyst 主控台中合併提取請求。如果發生衝突或無法完成合併,則合併按鈕處於非作用中狀態,並顯示「不可合併」標籤。在這種情況下,您必須取得任何必要核准人的核准,必要時在本機解決衝突,並在合併之前推送這些變更。合併提取請求會自動傳送電子郵件給提取請求的建立者以及任何必要或選用的審核者。它不會自動關閉或更改與提取請求鏈接的任何問題的狀態。

提示

您可以配置哪些拉請求事件,您將收到有關電子郵件作為您的個人資料的一部分。如需詳細資訊,請參閱從發送 Slack 和電子郵件通知 CodeCatalyst

若要合併提取請求
  1. 瀏覽至您要合併提取請求的專案。

  2. 在專案頁面的「開啟提取請求」下,選擇您要合併的提取請求。如果您沒有看到提取請求,請選擇「檢視所有提取請求」,然後從清單中選擇。或者,在瀏覽窗格中,選擇 [程式]、選擇 [提取要求],然後選擇您要合併的提取要求。選擇 Merge (合併)

  3. 從提取請求的可用合併策略中選擇。選擇性地選取或取消選取要在合併提取請求之後刪除來源分支的選項,然後選擇「合」。

    注意

    如果「合併」按鈕處於非作用中狀態,或者您看到「不可合併」標籤,表示所需的複查者尚未核准提取請求,或者無法在主控台中合併提取請求。 CodeCatalyst 尚未核准提取請求的審核者會在「概述」的「提取請求詳細資料」區域中以時鐘圖示表示。如果所有必要的複查者都已核准提取請求,但「合併」按鈕仍處於非作用中狀態,則您可能會發生合併衝突。選擇加底線的 [不可合併] 標籤,即可查看有關為何無法合併提取要求的更多詳細資訊。您可以在開發環境或 CodeCatalyst 控制台中解決目標分支的合併衝突,然後合併提取請求,或者您可以解決衝突並在本地合併,然後將包含合併的提交推送到源分支 CodeCatalyst。如需詳細資訊,請參閱合併一個提取請求(Git)和您的 Git 文件。

覆寫合併需求

如果您具有「專案管理員」角色,則可以選擇合併尚未符合所需核准與核准規則之所有需求的提取請求。這被稱為覆蓋拉取請求的要求。如果無法使用必要的複查者,或者迫切需要將特定的提取請求合併至具有無法快速符合的核准規則的分支,您可以選擇這樣做。

若要合併提取請求
  1. 在您要覆寫需求並合併的提取請求中,選擇「合併」按鈕旁邊的下拉式箭頭。選擇「覆寫核准需求」。

  2. 「覆寫原因」 中,提供合併此提取請求的原因,而不符合核准規則與必要複查者需求的詳細資訊。雖然這是可選的,但強烈建議您這樣做。

  3. 選擇性地選擇合併策略,或接受預設策略。您也可以選擇使用更多詳細信息更新自動生成的提交消息。

  4. 選取或取消選取此選項,以在合併時刪除來源分支。我們建議您在覆寫合併提取請求的需求時保留來源分支,直到您有機會與其他專案團隊成員檢閱決定為止。

  5. 選擇 Merge (合併)

合併一個提取請求(Git)

Git 支持許多用於合併和管理分支的選項。下列指令是您可以使用的一些選項。如需詳細資訊,請參閱 Git 網站上的可用文件。合併並推送變更後,請手動關閉提取要求。如需詳細資訊,請參閱關閉提取請求

將本地回購中源分支的更改合併到本地回購中的目標分支。

git checkout destination-branch-name

git merge source-branch-name

將源分支合併到目標分支中,指定快進合併。這將合併分支並將目標分支指針移動到源分支的尖端。

git checkout destination-branch-name

git merge --ff-only source-branch-name

將源分支合併到目標分支中,指定壁球合併。這將來自源分支的所有提交合併到目標分支中的單個合併提交中。

git checkout destination-branch-name

git merge --squash source-branch-name

將源分支合併到目標分支中,指定三向合併。這將創建一個合併提交,並將源分支中的單個提交添加到目標分支。

git checkout destination-branch-name

git merge --no-ff source-branch-name

刪除本地回購中的源分支。這對於在合併到目標分支並將更改推送到源存儲庫之後對本地存儲庫進行清理非常有用。

git branch -d source-branch-name

使用本機存放庫指定的遠端存放庫暱稱,刪除遠端儲存庫中的來源分支 (中的來源儲存庫 CodeCatalyst)。(注意冒號 (:) 的使用方式。) 或者,指定--delete為指令的一部分。

git push remote-name :source-branch-name

git push remote-name --delete source-branch-name