檢閱提取要求 (英文)
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
當您建立 提取要求 (PR) 並指定必要/選擇性的檢閱者時,Azure Repos 會通知檢閱者您的 PR 已準備好進行檢閱。 所有必要的審查者都必須批准 PR 中的變更,才能將變更合併至目標分支。 對於更改像 main
分支這樣的重要分支的 PR,您的小組可能已建立 分支政策 來指定檢閱者,或需要最少的檢閱者數目。 如果分支原則將選擇性檢閱者新增至您的PR,您可以保留這些檢閱者、要求檢閱者,或將其移除。 如果分支原則將必要的檢閱者新增至您的PR,則您無法將其設為選擇性或移除。 如需透過分支策略指派檢閱者的相關資訊,請參閱 自動包含程式碼檢閱者。
如果您正在檢閱PR,請嘗試提供精確且容易理解的建設性意見反應。 如需檢閱意見反應的詳細資訊,請參閱 提取要求意見反應。 本文說明如何在 Azure DevOps 中檢閱拉取請求。
您只能使用瀏覽器在入口網站中檢閱 Azure DevOps PR。
在本文中,您將了解如何:
- 審查變更
- 使用批注
- 編輯檔案
- 追蹤已檢閱的檔案
- 投票處理PR變更
- 完成 PR
在本文中,您將了解如何:
- 檢閱變更
- 使用批注
- 對PR變更進行投票
必要條件
您的 Azure DevOps 專案設定中必須啟用 Repos 。 如果 Repos 樞紐和相關的頁面未顯示,請參閱開啟或關閉 Azure DevOps 服務以重新啟用Repos。
若要檢閱 PR,您需要成為該 PR 所在的 Azure DevOps 專案的成員,並至少擁有 基本 的存取權限。
注意
針對公用專案,獲得 項目關係人 存取權的使用者具有 Azure Repos 的完整存取 權。
- 如需許可權和存取的詳細資訊,請參閱 預設 Git 存放庫和分支許可權 和 關於存取層級。
您可以使用 Azure DevOps 命令行介面 (CLI) 來管理 Azure DevOps Services 中的 PR。 當您安裝 Azure CLI 和 Azure DevOps 擴充功能時,可以使用 Azure DevOps CLI。 如需管理PR的 CLI 命令清單,請參閱 az repos pr
命令。
審查變更
拉取請求可讓指定的審核者先檢查、討論並投票處理提議的更改,再將這些更改套用至儲存庫的目標分支。 請記住,如果在不同分支上使用相同的檔案來執行開發,可能會有衝突的變更。 在此情況下,必須仔細分析並解決這些衝突。 若要這樣做,可能需要手動編輯檔案,才能正確套用來源、目標或兩個分支的變更。 從源或目標接受所有變更(可用單一按鈕點擊快速完成)可能不是最佳做法,而且可能會遺漏一些必要的變更。 這可以使用 ADO 工具來完成,或者使用開發工具(例如 Visual Studio)會更方便。
若要深入瞭解,請參閱 解決合併衝突。
下列步驟說明 Azure Repos 中的 PR 檢閱者如何流覽 PR,以瞭解建議的變更:
從網頁瀏覽器開啟 Azure DevOps 組織的小組專案。 選擇 [存放庫 > 提取要求 ] 以列出 PR。 新開啟的 PR 預設為 [ 概觀 ] 索引標籤。
PR 的 [ 概觀 ] 索引標籤會顯示標題、描述、檢閱者、連結的工作專案、歷程記錄、狀態和批註。 閱讀PR描述以查看建議的變更。 檢視評論,以瞭解其他評論者提出的問題。
注意
每個檔案被估算會有若干修改,並在名稱旁標註「+」符號或「重新命名、編輯」標籤。 當檔案有超過 50% 的變更時,會將其視為 已重新命名。 這是無法變更之 Git 存放庫的預設閾值。
選取 [ 檔案] 索引標籤,以檢閱 PR 來源分支中的所有內容變更。 初始檢視會顯示所有檔案變更的摘要檢視。 選擇檔案旁的 [ 檢視 ] 按鈕,只檢視該檔案的變更。 如果修改了檔案,[ 檢視 ] 按鈕會開啟差異檢視。 如果檔案已新增或刪除,[ 檢視 ] 按鈕會開啟內容窗格。
注意
基於效能考慮,摘要檢視不會顯示大於 0.5 MB 的檔案變更。
在檔案的差異檢視中,您可以選取 並排 或 內嵌 差異配置。
提示
對於大於 5 MB 的任何 單一 檔案,差異檢視會顯示截斷的檔案內容。 如需完整內容的差異檢視,請使用本機差異工具下載並檢閱這類檔案。
使用左側檔案樹狀目錄檢視另一個檔案,或選取根目錄,以查看所有檔案變更的摘要。
若要檢閱特定 推送 至來源分支所引進的變更集,請從變更下拉式清單中選取一或多個變更集。 當您選取一或多個變更集時,差異檢視會更新,只顯示所選變更集的變更。 當自您上次審查後有變更推送到 PR,而您只想查看新的變更時,這項功能會非常有用。 變更下拉式清單會將每個變更集命名為每個變更集,其中包含每個推送作業中最終認可的認可訊息。
提示
按住 Shift 鍵,從 [變更] 下拉式清單中選取多個變更集。
選擇 [ 更新] 索引標籤來檢視所有推送的變更集,以確保您未錯過任何來源分支變更。 變更集會進行編號,且最新的變更集會會出現在列表的頂端。 每個變更集都會顯示在該推送作業中推送的提交。 強制推送的變更集不會覆寫變更集歷程記錄,而且會顯示在變更集清單中,與任何其他變更集相同。
選擇提交標籤,以查看來源分支從目標分支分岔後的提交歷史。 如果 PR 作者強制推送不同的提交歷史,那麼提交歷史將會覆寫在提交標籤頁中,因此提交標籤頁中顯示的提交可能會與更新標籤頁中顯示的提交不同。
為了快速掌握 PR 狀態,PR 概觀 標籤摘要顯示 PR 通過或未通過的檢查、規範要求和分支政策。 在某些情況下,摘要會顯示狀態檢查記錄中失敗訊息的片段。 概覽只會列出失敗的策略,但您可以選取 [檢視 <n> 檢查項目] 來查看所有通過及失敗的策略檢查項目。
在 [PR 概觀] 索引標籤上,您可以檢閱PR描述和批註,以瞭解建議的變更,並查看其他檢閱者所引發的問題。
檢查檔案
選擇 PR 檔案 索引標籤,以查看提取要求中來源分支與目標分支之間的實際變更。
注意
Azure DevOps 提取要求與 Azure DevOps 分支比較之間的不同變更是不同的比較方法所造成的。
git diff 命令有兩個比較方法:雙點 (git diff A..B
) 和三點 (git diff A...B
)。 根據預設,提取要求會顯示三點差異,而分支比較則會改為顯示兩點差異。
例如:
C---D---E branch
/
A---B---F---G master
拉取請求:git diff branch...master
只會產生 C、D、E 提交。
分支比較:git diff branch..master
會生成 C、D、E、F、G 提交。
如需詳細資訊,請參閱 three-dot-and-two-dot-git-diff-comparisons 和 git diff
注意
檢視單一 選取檔案的差異時,檔案大小限制為 5 MB。 若要檢視大於 5 MB 的檔案並比較其差異,您可以下載檔案,然後使用本機差異工具來檢視。 檢視檔案集合的差異時,基於效能考慮,每個檔案的大小限製為0.5 MB。
檢閱更新
從 [ 所有更新 ] 下拉式清單中檢閱舊版的程序代碼。
分支的每次更新都會將新版本新增至清單,並顯示在 PR 的「更新」索引標籤。 當您選取不同的更新時,差異檢視更新會顯示每個 PR 版本中檔案之間的差異。
您可以透過查看自從上次檢閱後所做的變更來了解PR更新進度。
在 [更新] 索引標籤上瀏覽作者的變更清單。
在提交索引標籤上檢視並選取對分支的提交中所做的變更。
使用評論
PR 作者和檢閱者可以藉由新增和回應PR批注來彼此通訊。 當您檢閱 PR 時,請使用批注指出建議變更、 建議變更,以及回應先前批注的問題。 旨在提供精確且容易理解的建設性意見反應。 使用 @username
直接稱呼收件者。 使用 #workitemID
參考工作專案,使用 !pullrequestID
參考其他 PR。 有時候,PR 作者會為文件用途撰寫自己的註解。
在批注中提供意見反應
如果您的意見反應適用於檔案中的特定行或行範圍,請在檔案內的該位置新增批注:
在 PR 的 [ 檔案 ] 索引標籤中,將滑鼠停留在您要批註的行上,然後選取批註按鈕
以開啟內嵌批注方塊。 您也可以選取多行,然後選取當您將滑鼠停留在這些行上時出現的批註按鈕。
在批注方塊中輸入您的批注,然後選擇 [ 批注]。
如果您的意見反應適用於整個檔案,請從檔案選項功能表中選取 [新增批注],以新增檔案層級批注 :
若要提供與特定檔案無關的一般意見反應,請在 [ 概觀 ] 索引標籤中新增批註:
PR 檢閱者也可以使用批注來 建議特定檔案行的變更 ,如下一節所述。
建議批註中的變更
您可以使用批注來建議檔案中一行或多行的替換文字:
在 PR 的 [ 檔案 ] 索引標籤中,將滑鼠停留在您要批註的行上,然後選取批註按鈕
以開啟內嵌批注方塊。 您也可以選取多行,然後選取當您將滑鼠停留在這些行上時出現的批註按鈕。 如果被採納,您建議的內容將取代您所新增評論的行或行。
選取批注方塊底下的燈泡圖示,以在程式碼區塊內的批注方塊中提出建議的變更,然後按一下 [批註]。 如果您將批註新增至並存差異檢視的原始程式代碼(左側),則不會看到燈泡圖示。
PR 作者可以透過下列方式接受您的建議:
編輯或刪除批注
您可以將滑鼠停留在批註上方並選擇編輯或移除圖示,以編輯或刪除批註:
喜歡留言
PR 作者和審核者可以將滑鼠停留在自己的或其他人的批註上,然後點選拇指圖示來表示喜歡:
具有讚的批註會顯示填滿的拇指圖示和讚的數目。 將滑鼠停留在拇指圖示上方,以查看喜歡批註的人員清單。
回覆評論
PR 作者應回復批注,讓檢閱者知道他們如何處理意見反應和建議:
若要回復批注,請在 [撰寫回復] 欄位中輸入您的回應。 使用
@username
直接稱呼收件者。 使用#workitemID
來參考工作專案,使用!pullrequestID
來參考其他 PR。輸入回應之後,如果回應為最終回應,請選取 [ 回復及解決 ]。 否則,請選取 [ 回復]。
如果您選取 [ 回復及解決],批注狀態將會變更為 [已解決]。 PR 作者也可以直接變更批注的狀態,如下一節所述。
變更批注狀態
新的批注一開始會有啟用狀態,PR 作者會在檢閱過程中更新狀態,以指出他們如何處理檢閱者的意見和建議。 PR 作者可以從狀態下拉式清單中選取評論狀態:
使用中:新批注的默認狀態。
待處理:該批註問題正在審核中,等待其他措施。
已解決:已解決此批注中的問題。
不會修復:此評論中的問題已被記錄,但不會修復。
已關閉:此批注中的討論已關閉。
PR 作者和檢閱者可以藉由 篩選 批注狀態來追蹤 PR 進度,如下一節所述。
將留言新增至 PR 以提出建議、回復先前的留言,並指出提議變更中的問題。
在 PR 的[檔案]標籤中,在您要批註的行上懸停滑鼠,並選擇「批註」按鈕
,即可內嵌批註。
在 [概觀] 索引標籤上加上批註,提供未系結至特定程式代碼行的意見反應。
使用
@username
在批注中向作者或其他檢閱者直接表達意見,並使用#workitemID
參考工作專案。 您也可以使用!pullrequestID
來參考其他 PR。
編輯、刪除或按讚評論
若要編輯或刪除批註,請將滑鼠停留在批註上方,然後選取鉛筆圖示來編輯批註或垃圾圖示以刪除批註。
若要喜歡您自己的或其他人的批註,請將滑鼠停留在批註上,然後選取拇指圖示。 帶有按讚的評論會顯示填滿的圖示,以及評論列表中的按讚數量。 將滑鼠停留在圖示上方,以查看喜歡批註的人員清單。
篩選批注
您可以從批註篩選下拉式清單中選擇篩選器,以決定在 [概觀] 標籤頁上顯示的批註或更新。 例如,選取 [新增 篩選] 選項,以查看自上次開啟PR之後的新批注和更新。 每個篩選選項都會顯示其類別的項目數。
您可以選擇在 概觀 標籤上顯示哪些批註和更新。隱藏一些批註和更新可以讓您在第一次檢閱程式碼時不受干擾。 您也可以只顯示自從上次造訪PR之後的新功能。
若要篩選批注和更新,請選取批注清單上方的 [顯示所有 (n)] 按鈕,然後選取其中一個篩選選項。 檢視會變更,只顯示選取的批注和更新。 按鈕標籤會變更以顯示篩選準則和顯示的項目數。
位址批注
您可以直接從網頁版的Code的Files 標籤中對分支進行快速更新。
回復和解決批注
回復批注並更新批注狀態,讓檢閱者知道您如何處理其批注和建議。
- 若要在不回復的情況下解決批注,請選取批注底下的 [ 解決 ]。
- 若要回復批注,請在 [寫入回復] 字段中輸入您的回應,然後選取 [回復]。
- 若要回復並解決批注,請在 [撰寫回復] 字段中輸入您的回應,然後選取 [回復和解決]。
- 在回復中使用
@username
來回覆特定檢閱者,並使用#workitemID
來參考工作專案。 您也可以使用!pullrequestID
來參考其他 PR。
新的註解會以
註解解析的下拉式選單中有更多選項可用:
- 作用中:批注仍在審查中。
- 待處理:此批注中的問題將會被處理,但尚未修正。
- 已解決:已修正此批注中提出的問題。
- 不會修正:我們已記錄批注中的建議,但此 PR 不會處理該建議。
- 已關閉:已關閉此批注的討論。
若要追蹤已檢閱的檔案,請選取 PR中檔案旁的 [更多選項 ],然後選取 [ 標示為已檢閱]。
編輯檔案
為了方便起見,PR 作者可以直接在 Azure Repos 中編輯檔案。 例如,您可能已接受檢閱者建議的程式代碼變更,而且想要在其他位置進行類似的變更。
選擇 [ 存放庫 > 檔案]、選取 PR 來源分支、選取檔案,然後選擇 [ 編輯]。
在編輯器中進行變更,然後選擇 [認可 ] 以開啟 [ 認可 ] 對話框。
在[提交]對話框中,如有需要可編輯提交訊息,然後選擇[提交]以提交並將變更推送到您的PR。
投票決定PR變更
PR 審核者可以從下拉選單中選擇選項來為 PR 投票。 PR 頁面上的審核者圖示會顯示其投票情況。
投票選項如下:
使用PR右上角的按鈕來投票處理PR變更。 預設選項為 [核准],但您可以從下拉式清單中選取其他選項:
- 核准:核准 PR 中建議的變更。
- 核准並提供建議:核准PR,但提供可供參考的改進建議。
- 等候作者:不要核准變更,並要求作者檢閱您的批注。 作者應該在解決您的疑慮後告知您重新檢閱程式碼。
- 拒絕:無法接受變更。 在PR中留下批注,以說明原因。
- 重設意見反應:移除您的投票。
完成 PR
PR 作者可以選擇 PR 解決選項:
完成:如果所有必要的檢閱者已核准PR,且符合所有必要的分支原則,請立即完成PR。
設定自動完成:當所有必要的檢閱者核准並符合所有必要的分支原則時,自動完成PR。
標示為草稿:將PR設定為草稿狀態,表示它尚未準備好進行檢閱。 針對草稿 PR,您可以選取 [ 發佈 ] 來移除其草稿狀態,並標示它已準備好進行檢閱。
放棄:關閉 PR。 針對已放棄的 PR,您可以選取 [ 重新啟用 ] 來還原它。
如需完成PR的詳細資訊,請參閱 完成提取要求。