共用方式為


完成、放棄或還原提取要求

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Visual Studio 2019 |Visual Studio 2022

一旦所有必要的檢閱者核准提取要求(PR)且 PR 符合所有 分支原則 需求,您就可以將變更合併至目標分支並 完成 PR。 或者,如果您決定不繼續進行PR中的變更,則可以 放棄PR

若要解決檢閱者的變更,以及回應和解決評論批注,請參閱 位址批注

必要條件

類別 需求
專案存取 專案的成員。
許可 - 在私人項目中檢視程式碼:至少 基本 權限。
- 複製或貢獻私人專案中的程式碼:作為 貢獻者 安全群組的成員或在專案中具有相應的許可權。
- 設定分支或存放庫許可權:管理分支或存放庫的許可權 許可權。
- 變更預設分支:編輯原則 存放庫的許可權。
- 匯入存放庫:專案管理員成員 安全組或 Git 專案層級 建立存放庫 許可權設定為 允許。 如需詳細資訊,請參閱 設定 Git 存放庫許可權
服務 啟用 Repos
工具 選擇性。 使用 az repos 命令:Azure DevOps CLI

注意

在公用專案中,具有 項目關係人 存取權的使用者具有 Azure Repos 的完整存取權,包括檢視、複製及參與程式代碼。

類別 需求
專案存取 專案的成員。
許可 - 查看程式碼:至少 基本 權限。
- 複製程式碼或貢獻程式碼:屬於 參與者安全組 的成員或具有專案中的對應許可權。
服務 啟用 Repos

如需許可權和存取的詳細資訊,請參閱 預設 Git 存放庫和分支許可權關於存取層級

在 Azure DevOps Services 中,您可以使用擴充功能,從 Azure 命令行介面 (CLI)azure-devops 管理 PR 和其他資源。 若要瞭解如何使用 Azure DevOps Services CLI,請參閱 開始使用 Azure DevOps CLI。 適用於 PR 的 Azure Repos CLI 命令會使用 az repos pr

檢查合併變更

當您完成PR時,Git會將新的 合併認可 新增至main分支的結尾。 此合併提交會連結主要分支和 PR 來源分支的先前歷史紀錄。 若要查看預覽合併認可並檢查合併衝突,請在 PR 概觀頁面的右上方選取更多選項功能表,然後選取檢視合併變更

如果您在建立 PR 之後更改了目標分支,請選取 重新啟動合併,以建立新的預覽合併提交並更新合併變更差異檢視。

顯示 P R [更多選項] 選單中 [檢視合併] 和 [重新啟動合併選項] 的螢幕快照。

審查分支原則

Teams 可以設定 分支原則 ,要求受保護分支中的 PR 必須符合特定準則,才能合併 PR。 您可以看到PR生效的分支原則、合併所需的分支原則,以及PR是否通過或失敗。

PR 概觀 標籤摘要說明 PR 的分支政策是否通過或失敗。 總覽只會列出失敗的政策,但您可以選取 [查看 <n> 檢查] 來查看所有政策檢查

在 [PR 概觀] 頁面上,分支政策需求會標示一個圖示 。 選取需求旁的 [更多選項],然後選取 [檢視原則] 以移至 [項目設定] 中的分支原則頁面。

在 P R 中,顯示在分支政策需求旁的檢視政策螢幕截圖。

完成提取要求

您解決任何合併衝突,且 PR 符合所有分支政策並獲得所有必要的審核後,便可完成 PR。

  1. 選擇右上方的 [完成] 以完成 PR。 或選取 [完成] 按鈕旁的下拉式箭號,然後選取其中一個選項。

    顯示 P R 的 [完成] 按鈕選項的螢幕截圖。

    • 完成:立即完成PR,並將變更合併至目標分支。
    • 設定自動完成:設定PR以在符合所有必要的分支原則之後完成並合併。
    • 標示為草稿:將PR傳回草稿狀態,並移除所有投票。
    • 放棄:關閉 PR 而不合併變更。
  2. 在 [完成提取要求] 窗格中的 [合併類型] 底下,選取其中一個合併選項。

    顯示完整 P R 對話框的螢幕快照。

    • 合併(無快轉):合併具有非線性歷史的提交,保留所有提交記錄。
    • Squash 提交:以線性歷史合併,將所有來源提交合併為目標上的單一提交,或者「Squash」合併 PR。 請注意,系統會為目標分支建立新的認可,而不會保留來源分支的認可歷程記錄。
    • Rebase 和 fast-forward:將來源認可重新調整至目標並快速轉寄。
    • 半線性合併:重新基底來源認可至目標,並建立雙父合併。

    注意

    會強制執行現有的原則。 例如,如果您的分支目前有「只允許壓縮併入」的政策,當您想要使用其他合併類型時,必須修改該政策。

  3. 選取下列任何完成後選項。 某些選項無法用於某些合併類型。

    • 合併後完成相關聯的工作專案:完成任何連結的工作專案。
    • <之後刪除>分支名稱:合併後刪除PR的來源分支。
    • 自定義合併認可訊息:新增自定義合併認可訊息。 如果您選取此選項,請更新 合併認可 訊息。
    • 覆寫分支原則並啟用合併。 即使 PR 不符合所有分支策略,也要強制合併。 只有在您具有 豁免原則強制執行 許可權時,才能使用此選項。
  4. 請選擇「完成合併」

  1. 選擇 右上方的 [完成] 以完成 PR。 或者,選取 [完成] 按鈕旁的下拉式箭號,然後選取下列其中一個選項:

    此螢幕快照顯示 PR 的 [完成] 按鈕選項。

    • 完成:立即完成PR,並將變更合併至目標分支。
    • 設定自動完成:如果您有分支原則,請將PR設定為在符合所有必要的分支原則之後完成並合併。
    • 放棄:關閉 PR 而不合併變更。
  2. 在 [完成拉取請求] 畫面上,輸入合併提交訊息並更新拉取請求描述。

    完成提取要求對話框

  3. 選取下列任一選項:

    • 合併 之後完成連結的工作專案,以完成任何連結的工作專案。

    • 在合併後刪除<branch name>,以從 PR 中刪除來源分支。

    • 合併至壁球合併PR時,Squash 會變更。 請注意,系統會為目標分支建立新的認可,而不會保留來源分支的認可歷程記錄。

    • 覆寫分支原則並啟用合併,即使該分支未滿足所有分支原則,也可強制其合併。 只有在您具有 豁免原則強制執行 許可權時,才能使用此選項。

      注意

      現有的原則仍會強制執行。 例如,如果您的分支目前設有「僅限壓縮合併」政策,您必須編輯該政策,才能使用其他合併類型。

  4. 選擇完成合併

當您完成合併時,任何 連結的工作專案 都會自動更新以顯示PR完成。

顯示已完成 P Rs 的連結工作項目的螢幕快照。

完成 PR 時變基

在完成 PR 時進行 rebase 存在無法進行的情況:

  • 如果目標分支的原則禁止使用變基策略,則需要覆寫分支原則許可權才能進行變基。
  • 如果 PR 來源分支有策略,則無法重新設置基底。 重新處理會修改來源分支,而不需經過原則核准程式。
  • 如果您使用合併衝突延伸模組來解決合併衝突,則無法重新設定基底。 在個別調整所有 PR 提交的基礎時,套用到三向合併的衝突解決方法很少成功或有效。

在這些情況下,您仍然可以在本機重新建置分支,然後在完成PR時推送上游或將變更壓縮合併。

多個合併基礎問題

在某些情況下,PR 有多個真正的合併基底,這種情況可能會導致安全性問題。 如果 PR 中的檔案在合併基底之間有不同的版本,就會發生多個合併基底警告。 如需詳細資訊和解決方案,請參閱 多個合併基底

解決合併衝突

分支中的檔案變更可能會與其他分支中的變更衝突。 當不清楚如何合併變更時,Git 會顯示PR概觀頁面上衝突的檔案。 您必須先解決PR分支與目標分支之間的任何 合併衝突 ,才能合併PR或將PR設定為自動完成。 如需解決合併衝突的指示,請參閱 解決合併衝突

顯示 P R [概觀] 索引標籤上合併衝突的螢幕快照。

將拉取請求設定為自動完成

從 [完成] 下拉式清單中選取 [設定自動完成],以便在所有分支策略的條件符合後,立即完成並合併 PR 變更。 PR 完成時,您會收到電子郵件通知。 如果有衝突或錯誤阻止 PR 完成,電子郵件會通知您此問題。

注意

當您有分支原則時,Azure Repos 和 TFS 2017 及更高版本提供 設置自動完成 選項。 如果您沒有看到 [設定自動完成],則沒有任何分支原則。 如需詳細資訊,請參閱 分支原則

預設情況下,設定為自動合併的 PR 只會等候必要政策。 在 [ 啟用自動完成 ] 面板中,您也可以選擇等候選擇性原則。

此螢幕快照顯示將選擇性原則變更為 [啟用自動完成] 面板中的必要原則。

從 TFS 2018 Update 2 開始,PR 概觀頁面會顯示 PR 正在等候的未完成原則準則清單。 如果您在 [啟用自動完成] 面板中將原則設定為必要,您可以在 [概觀] 頁面上將其設定回選擇性

選取 [ 取消自動完成 ] 以關閉自動完成。

處於自動完成狀態的PR螢幕快照。

處於自動完成狀態的PR螢幕快照。

設定為自動完成的 PR 會在 [提取要求] 頁面上顯示自動完成徽章

顯示 PR 清單中自動完成 PR 的螢幕快照。

放棄或重新啟用提取要求

若要放棄變更和 PR 而不合併,請從 [放棄] 按鈕的 [完成] 下拉式清單中選取。 您仍然可以檢視已放棄的PR,而且它仍會連結到工作專案。

若要隨時重新啟用已放棄的 PR,請從 [已放棄] 標籤頁在 提取要求 檢視中開啟 PR,然後選取右上方的 [重新啟用]。

還原已完成的提取要求

若要從 PR 復原變更,請遵循下列步驟。 如需詳細資訊,請參閱 復原變更

  1. 開啟已完成的 PR,然後選取 [ 還原]。 此動作會建立一個新的分支,其中包含撤銷您儲存庫中現有目標分支的PR之變更。

  2. 還原拉取請求 面板中:

    1. [目標分支] 底下,選取您要復原 PR 變更的分支。
    2. 在 [需要的主題分支名稱] 底下,視需要變更還原 PR 分支名稱。
    3. 選擇 還原
  3. 在 [ 新增提取要求 ] 畫面上,選取 [ 建立]。

  4. 合併新的 PR 以完成恢復。

注意

在此還原期間建立的分支具有單一認可,可還原原始PR的所有檔案變更。 分支不包含原始PR中每個認可的還原認可。

下一步