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

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

Visual Studio 2019 |Visual Studio 2022

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

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

必要條件

  • 您的項目必須啟用存放庫 。 如果 Repos樞和相關聯的頁面未顯示,請參閱開啟或關閉 Azure DevOps 服務以重新啟用 Repos。

  • 若要完成PR,您必須是參與者安全組的成員,或具有PR所屬專案中的對應許可權。

  • 若要參與PR,您必須是讀取者安全組的成員,或具有對應的許可權。

  • 若要檢視或檢視 PR,您必須具有 Azure DevOps 專案的基本 或更高存取權。

  • 如果您不是要參與的項目成員, 請新增

    注意

    針對公用專案,獲得 項目關係人 存取權的使用者具有 Azure Repos 的完整存取權。

  • 您的項目必須啟用存放庫 。 如果 Repos樞和相關聯的頁面未顯示,請參閱開啟或關閉 Azure DevOps 服務以重新啟用 Repos。
  • 若要完成PR,您必須是參與者安全組的成員,或具有您想要變更之專案中的對應許可權。
  • 若要參與PR,您必須是讀取者安全組的成員,或具有對應的許可權。
  • 若要檢視或檢視 PR,您必須是具有 基本 存取或更高許可權的 Azure DevOps 項目成員。 如果您不是項目成員, 請新增

檢查合併變更

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

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

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

檢閱分支原則

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

[PR 概觀 ] 索引標籤摘要說明針對 PR 傳遞或失敗的分支原則。 概觀只會列出失敗的原則,但您可以選取 [檢視 <n> 檢查] 來查看所有原則檢查

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

顯示 P R 中分支原則需求旁檢視原則的螢幕快照。

完成提取要求

解決任何合併衝突,且PR符合所有分支原則且具有所有必要的核准之後,您就可以完成PR。

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

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

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

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

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

    注意

    會強制執行現有的原則。 例如,如果您的分支目前只有「壓縮合併」原則,則如果您想要使用另一個合併類型,則必須變更該原則。

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

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

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

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

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

    完成提取要求對話框

  3. 選取下列任一選項:

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

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

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

    • 覆寫分支原則,並啟用合併 以強制分支合併,即使它不符合所有分支原則也一樣。 只有在您具有 豁免原則強制執行 許可權時,才能使用此選項。

      注意

      現有的原則仍會強制執行。 例如,如果您的分支目前只有「壁球合併」原則,您必須編輯該原則,才能使用其他合併類型。

  4. 選取 [完成合併]

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

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

PR 完成期間的重設基底

在PR完成期間重新進行重新處理時,有一些情況:

  • 如果目標分支上的原則禁止使用重新基底策略,則需要 覆寫分支原則 許可權才能重新建置。
  • 如果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中每個認可的還原認可。

下一步