概述
在将代码合并到Master分支之前,Pull requests 可以让您的团队提供有关feature branches 代码更改的反馈。代码评审人员可以根据提交的变更逐步提供建议、发表评论、通过投票批准或拒绝代码合并。Azure DevOps为创建,评审和批准 Pull requests 提供了丰富功能和良好的体验。
在开始本实验之前,您需要完成先前的练习: Git lab 。
先决条件
-
安装 Visual Studio Code ,并保确保已经安装 支持C#语言的相关扩展.
-
确保已经完成 prerequisite instructions 中的任务1
-
完成练习:Git lab
练习1:使用 pull requests
在前面的 Git lab 练习中,我们创建了一个新的分支并对一些代码进行了更改。现在我们需要提交并推送一些代码到服务器中。这样我们才能够创建一个 pull requests,以便将我们的分支合并到Master。
任务1:创建新的 pull requests
-
返回 Visual Studio Code。
-
选择 Source Control , Visual Studio Code 会自动识别未提交的文件 Category.cs. 输入一个注释: “Category change” 然后键入 Ctrl+Enter 以提交变更到 release branch.
-
点击 Synchronize Changes 按钮,将变更推送至服务器。
-
键入 Ctrl|Shift+P 打开命令行面板 Command Palette.
-
输入 “Team” 然后选择 Team: Create Pull Request ,这将会在浏览器中打开一个新建 pull Request 的页面。
-
在 New Pull Request 应该已经包含了评审人员需要的关键信息,以及这些评审人员应该是谁(如果有的话)。
-
您可能需要根据分支策略中的某些内容,调整 Pull Request 设置. 当然,你还可以关联工作项. 点击 Create 完成创建。
Task 2: 管理 pull requests
-
返回 Visual Studio Code.
-
点击 Browse your pull requests 。
-
打开你刚才创建的 pull request
-
在 Overview 包含pull request 的所有关键信息,批准和完成的选项。
-
点击 Files ,可以评审提交的的源代码。
-
您还可以从下拉列表中选择某一个具体的更新进行查看。
-
在源码文件中的某一行处,点击 Add comment,输入一些注释,然后点击 Comment 保存.
-
现在,刚才添加的注释已经显示在了源代码中的某一行中,这使代码评审非常容易、方便的进行。
-
新注释也作为Pull Request的一部分进行跟踪。在完成Pull Request之前,每个注释都将被处理、解决,所以这个方便的标记让您知道是否还有其他需要评审的内容。
-
更新注释状态为 Resolved.
-
所以注释都解决后,可以看到此处也会更新.
-
选择 Updates,这里显示了此分支所有的更新。
-
选择 Commits ,可以查看所有的Git Commit。
-
似乎所有策略都已满足, 点 Approve 审核 这个pull request.
-
审核通过后, 点击 Complete 完成 Pull request.
-
您可以在完成 pull request 对话框中看到默认信息。第一个选项是分支关联的工作项。注意,您还可以选择在合并后删除目标分支,以及在marge期间 squash changes ,这是一个合并选项,允许您在完成一个pull request 时压缩Master分支的Git历史。squash changes 并不是将主题分支上的每个提交添加到Master分支的历史记录中,而是将所有文件更改添加到默认分支上的单个新提交中。squash changes 使您的 Master 分支历史保持干净,易于遵循,不会影响团队现有的工作流程。点击 Complete merge 完成合并。
-
合并完成后,Pull Requests 应标记为 Completed。
-
返回 Pull Requests 主页。
-
选择 Completed 页, 点击 其中一个pull request
-
您可以查看Pull Request,还可以 选择 chery-pick 或 Revert,chery-pick 是指从一个分支挑拣一些Commit到另一个分支的过程,在概念上类似于复制/粘贴操作。
-
在 Work Items 处, 点击任意一个工作项链接以打开。
-
可以看到工作项状态已经变为 Done 了。
-
在 Development 页面, 可以看到关联的pull request.
Task 3: 管理Git分支和 pull request 策略
随着项目和团队的复杂性不断扩大,自动化更多的流程以确保质量变得有所帮助。
-
打开 Project settings。
-
选择 Repos 下的 Repositories。
-
选择 PartsUnlimited 存储库。与Azure DevOps中的其他功能一样,您可以配置存储库的权限。选择 Options 选项卡。这允许您设置一些有用的策略。
-
选择 master 分支,您可以像配置存储库一样配置分支的权限。 还可以配置各种各样的分支策略, 点击 Branch Policies,进行设置。
-
Azure DevOps分支策略在存储库中执行一定级别的质量控制非常有效。例如,您可以通过要求最少数量的评审人员、检查链接的工作项、要求所有注释都已解析等等来控制拉请求。您甚至可以要求通过成功的构建和配置外部批准服务进行验证。如果代码的某些部分需要包含它们自己的审批者,您也可以在这里包含它们。
-
选项 Require a minimum number of reviewers,默认情况下,这需要至少两个评审人员批准一个Pull Request,并且(默认情况下)还需要原作者不在其中。
-
点击 Add automatic reviewers。
-
将您自己添加为 Reviewer,并将 Path filter 设置为 “/PartsUnlimited-aspnet45/src/PartsUnlimitedWebsite/Controllers/”。为满足 Required 的要求,确保您将被要求在web应用程序中对源码的任何变更上评审。单击 Save。
-
点击 Save changes 保存策略.