關於提取要求

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

提取要求 (PR) 是在 Azure Repos 上的 Git 存放庫中變更、檢閱和合併程式代碼的方法。 PR 可以來自相同存放庫內的分支,或來自存放庫分支中的分支。 Teams 會使用 PR 來檢閱程式代碼,並在將程式代碼合併至主要分支之前提供變更的意見反應。 檢閱者可以逐步執行建議的變更、留下批注和投票以核准或拒絕程序代碼。

本文說明提取要求指導方針和管理考慮。 如需如何建立、檢視、檢視、檢視和完成提取要求的指示,請參閱下列文章:

注意

基於效能和穩定性考慮,可以新增至提取要求的檢閱者數目必須為 1000 或更少。 新增超過1000位檢閱者時,將不會建立新的提取要求,而且現有的提取要求不會允許您新增超過1000名檢閱者。

許可權和必要條件

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

  • 若要檢視或檢視 PR,您必須是具有 基本 存取或更高許可權的 Azure DevOps 項目成員。

    • 如果您沒有專案,請建立一個專案或 免費註冊。
    • 如果您不是項目成員, 請新增
  • 若要參與PR,您必須是讀取者安全組的成員,或具有對應的許可權。

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

注意

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

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

若要深入瞭解許可權和存取權,請參閱 預設 Git 存放庫和分支許可權關於存取層級

提取要求的質量意見反應

高品質的檢閱是從高品質的意見反應開始。 以下是絕佳的PR意見反應的一些關鍵:

  • PR 擁有者應該有適當的人員檢閱PR,並確定檢閱者知道程式碼的功能。
  • 檢閱者應該提供可採取動作的建設性意見反應。
  • 擁有者和檢閱者應該快速批注和回復。

PR 擁有者應:

  • 請務必選取正確的檢閱者,以指派給 PR。
  • 包含瞭解程式代碼運作方式的檢閱者。
  • 要求其他領域的開發人員分享他們的想法。
  • 提供變更的清楚描述。
  • 提供具有提取要求範本的檢閱者指引。
  • 提供程式代碼的組建,其中包含執行中的修正或功能。
  • 回復批注、接受建議或說明建議變更不理想的原因。
  • 如需PR範圍內的良好建議,請建立新的工作專案、分支和PR來進行這些變更。

檢閱者應該執行下列工作。

  • 針對他們不同意的變更提供意見反應
  • 找出問題,並針對要以不同方式執行的動作提供特定建議
  • 請確定意見反應具有清楚的意圖,且易於瞭解
  • 對變更留下批注或投票

如需詳細資訊,請參閱 使用 Git 提取要求取得意見反應

分支原則和提取要求

您的小組可能會依賴存放庫中的重要分支,例如 main 分支,一律處於良好狀態。 您可以將分支原則設定為要求PR進行這些受保護分支上的任何變更,並拒絕直接推送至分支的任何變更。

您可以將更多原則新增至 PR,以在主要分支中強制執行更佳的程式碼品質。 額外的需求,例如建議程式代碼的全新組建,或來自多個檢閱者的核准,可協助保護主要分支。

您可以在分支原則中設定PR的必要核准數目。 您也可以將所有或特定PR上的特定檢閱者設定為必要或選擇性。 即使其他檢閱者拒絕變更,PR 也可以設定為使用所需核准數目的自動完成。 不過,必要的檢閱者必須先核准PR,才能合併PR。 至少兩位檢閱者在重大PR中檢閱和核准變更是最佳做法。

若要在PR作者推送新變更時重設投票,請在 [需要最少數目的檢閱者] 分支原則中有新變更時,選取 [重設程式碼檢閱者投票]。

下表摘要說明您可以定義來自定義分支的原則。 如需所有存放庫和分支原則和設定的概觀,請參閱 Git 存放庫設定和原則

原則

Default

說明


關閉

在提取要求上,需要指定數目的檢閱者核准。

關閉

檢查提取要求上的連結工作專案,以鼓勵可追蹤性

關閉

檢查是否已解決提取要求的所有批注。

關閉

藉由限制提取要求完成時可用的合併類型來控制分支歷程記錄。

關閉

新增一或多個原則,藉由預先合併和建置提取要求變更來驗證程序代碼。 也可以啟用或停用原則。

關閉

新增一或多個原則,以要求其他服務張貼成功狀態以完成提取要求。 也可以啟用或停用原則。

關閉

新增一或多個原則,以指定程式代碼檢閱者在提取要求變更特定程式代碼區域時自動包含。 也可以啟用或停用原則。

如需詳細資訊,請參閱

定義狀態檢查以改善程式代碼品質

提取要求和分支原則可讓小組強制執行檢閱程式代碼和執行自動化組建的最佳做法。 許多小組在程序代碼上具有進一步的需求和驗證。 若要涵蓋這些需求,您可以將PR狀態檢查整合到PR工作流程中。 透過PR狀態檢查,外部服務可以藉由將成功或失敗資訊與PR產生關聯,以程式設計方式註銷程式碼變更。

如需詳細資訊,請參閱下列文章:

多個合併基礎問題

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

下一步