Azure DevOps Services |Azure DevOps Server 2022 - Azure DevOps Server 2019 |TFS 2018
(PR) 创建
拉取请求
并指定必需/可选审阅者时,Azure Repos将通知审阅者你的 PR 已准备好进行审阅。 所有必需的审阅者都必须批准 PR 中的更改,然后更改才能合并到目标分支。 对于更改关键分支(如分支)的
main
PR,你的团队可能已创建
分支策略
来指定审阅者或要求最少数量的审阅者。 如果分支策略将可选的审阅者添加到 PR,则可以保留、要求他们或删除他们。 如果分支策略将所需的审阅者添加到 PR,则无法将其设为可选或将其删除。 有关通过分支策略分配审阅者的信息,请参阅
自动包含代码审阅者
。
如果要查看 PR,请尝试提供准确且易于理解的建设性反馈。 有关查看反馈的详细信息,请参阅
拉取请求反馈
。 本文介绍如何在 Azure DevOps 中查看拉取请求。
只能在 Web 门户中使用浏览器查看 Azure DevOps PR。
本文介绍如何执行以下操作:
跟踪审阅的文件
对 PR 更改进行投票
完成 PR
必须在 Azure DevOps 项目设置中启用
存储库
。 如果未显示
Repos
中心和关联的页面,请参阅
打开或关闭 Azure DevOps 服务
以重新启用
Repos
。
若要查看 PR,你必须是 PR 所属的 Azure DevOps 项目的成员,并且具有
基本
访问级别或更高级别。
如果没有项目,请创建一个项目或
免费注册
。
如果你不是项目成员,
请添加
。
对于公共项目,授予
利益干系人
访问权限的用户对
Azure Repos
具有完全访问权限。
必须在 Azure DevOps 项目设置中启用
存储库
。 如果未显示
Repos
中心和关联的页面,请参阅
打开或关闭 Azure DevOps 服务
以重新启用
Repos
。
若要查看 PR,你必须是具有
基本
访问级别或更高级别的 Azure DevOps 项目的成员。 如果你不是项目成员,
请添加
。
可以使用
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 以了解建议的更改:
在 Web 浏览器中,为 Azure DevOps 组织打开团队项目。 选择
“存储库 > 拉取请求
”以列出 PR。 新打开的 PR 默认为“
概述
”选项卡。
PR 的“
概述
”选项卡显示标题、说明、审阅者、链接的工作项、历史记录、状态和批注。 阅读 PR 说明以查看建议的更改。 查看注释以了解其他审阅者提出的问题。
每个文件估计要进行多次修改,并在其名称旁边标有“+”符号或“重命名、编辑”标签。 当某个文件的更改超过 50% 时,它被视为
已重命名。
这是无法更改的 git 存储库的默认阈值。
对于大于 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 将仅生成 F、G 提交。
分支比较: 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 注释来相互通信。 查看 PR 时,请使用批注指出建议更改的问题、 建议更改并响应以前的批注。 旨在获得准确且易于理解的建设性反馈。 直接使用 @username收件人的 地址。 使用 引用工作项,并使用 #workitemID 引用其他 PR !pullrequestID。 有时,PR 作者出于文档目的为自己创建注释。
如果反馈适用于文件中的特定行或行范围,请在文件中的该位置添加注释:
在 PR 的“ 文件 ”选项卡中,将鼠标悬停在要批注的行上,然后选择批注按钮
以打开内联批注框。 还可以选择多行,然后选择将鼠标悬停在这些行上时显示的批注按钮。
在批注框中输入批注,然后选择 “批注”。
若要在不回复的情况下解决批注,请选择批注下的“ 解决 ”。
若要回复批注,请在 “编写答复 ”字段中键入答复,然后选择“ 答复”。
若要回复并解决批注,请在 “编写答复 ”字段中键入响应,然后选择“ 答复 & 解决”。
在 @username 答复中使用 答复中回复特定审阅者,并使用 #workitemID引用工作项。 还可以使用 !pullrequestID引用其他 PR。
新批注以 “活动” 状态开始。 选择“ 解决 ”或“ 答复 & 解决 ”,将批注状态更新为 “已解决”。
注释解析下拉列表中提供了更多选项:
活动:批注仍在审阅中。
挂起:此注释中的问题将得到解决,但尚未修复。
已解决:此注释中引发的问题已修复。
不会修复:注释中的建议已记录,但此 PR 不会解决该问题。
已关闭:此批注的讨论已关闭。
若要跟踪已审阅的文件,请选择 PR 中某个文件旁边的 “更多选项” ,然后选择“ 标记为已审阅”。
为方便起见,PR 作者可以直接在Azure Repos中编辑文件。 例如,你可能接受了审阅者建议的代码更改,并希望在其他位置进行类似的更改。
选择 “Repos > 文件”,选择 PR 源分支,选择一个文件,然后选择 “编辑”。
在编辑器中进行更改,然后选择 “提交” 以打开“ 提交 ”对话框。
在“ 提交 ”对话框中,根据需要编辑提交消息,然后选择“ 提交 ”以 提交 并将更改 推送 到 PR。
批准并提出建议:批准 PR 中建议的更改以及可选的改进建议。 此选项只是一个投票,不批准 PR。
等待作者:要求作者审阅审阅者批注。 PR 作者应让审阅者知道在 PR 作者处理注释后重新审阅代码。 如果所需的审阅者设置此投票选项,投票将阻止 PR 审批。
拒绝:指示更改不可接受。 选择此选项时,请添加说明原因的注释。 如果所需的审阅者设置此投票选项,投票将阻止 PR 审批。
重置反馈:清除投票。 缺少投票不会阻止 PR 完成。
使用建议批准:批准 PR,但提供可选改进建议。
等待作者:不要批准更改,并要求作者查看你的评论。 作者应告知你在解决你的问题后再次查看代码。
拒绝:不接受更改。 在 PR 中留下评论以解释原因。
重置反馈:删除投票。
若要就是否批准 PR 进行投票,请使用 az repos pr set-vote 命令。
az repos pr set-vote --id
--vote {approve, approve-with-suggestions, reject, reset, wait-for-author}
[--detect {false, true}]
[--org]
[--subscription]
--vote
拉取请求的新投票值 (接受的值: approve、 approve-with-suggestions、 reject、 reset或 wait-for-author)
--detect
自动检测组织 (接受的值: false、 true)
--organization
是,如果未设置默认组织,并且 git 配置文件未指定组织
Azure DevOps 组织 URL,或使用以下方法设置默认组织: az devops configure -d organization=<organization URL>
--subscription
Azure 订阅的名称或 ID,或使用以下命令设置默认订阅: az account set -s <name or ID>
以下命令将投票批准 PR #21。 该命令返回一个表。
az repos pr set-vote --id 21 --vote approve --output table
Name Email ID Vote Required
-------------- ------------------- ------------------------------------- -------- ----------
Jamal Hartnett jamalh@fabrikam.com 00000000-0000-0000-0000-000000000000 Approved False
以下命令将删除你的投票。 该命令返回一个表。
az repos pr set-vote --id 21 --vote reset --output table
Name Email ID Vote Required
-------------- ------------------- ------------------------------------- -------- ----------
Jamal Hartnett jamalh@fabrikam.com 00000000-0000-0000-0000-000000000000 False
完成:如果所有必需的审阅者都已批准 PR,并且满足所有必需的分支策略,请立即完成 PR。
设置自动完成:当所有必需的审阅者批准 PR 并满足所有必需的分支策略时,自动完成该 PR。
标记为草稿:将 PR 设置为草稿状态,以指示它尚未准备好进行审阅。 对于草稿 PR,可以选择 “发布” 以删除其草稿状态,并将其标记为可供审阅。
放弃:关闭 PR。 对于已放弃的 PR,可以选择“ 重新激活” 将其还原。
有关完成 PR 的详细信息,请参阅 完成拉取请求。
完成拉取请求
拉取请求更新通知
关于拉取请求和权限