在 Visual Studio 中创建拉取请求

如果已向 GitHub 或 Azure DevOps 进行身份验证,并且已将更改推送到远程存储库,则可以创建拉取请求,而无需离开 Visual Studio。 拉取请求是 GitHub 和 Azure DevOps 中用于代码评审的重要工具。 这些评审有助于捕获新功能中的问题,并允许团队成员与代码库的不同区域共享其体验 - 改善基本代码库的整体运行状况。

备注

要试用该功能,请确保在“工具”>“选项”>“预览功能”>“拉取请求”中启用该功能

若要创建拉取请求,请执行以下步骤:

  1. 在创建拉取请求之前,需要针对更改创建新分支。 此分支会将您的修改与主分支分开,直至它们准备好合并。

  2. 然后,可以 提交推送 更改,就像在“Git 更改”窗口中一样。

  3. 选择通知横幅中的链接以“在 Visual Studio 中创建”或“在浏览器中创建”

    Visual Studio 2022 中“Git 更改”窗口的屏幕截图,信息栏显示“已成功将 QP 推送到源。拉取请求:在 Visual Studio 中创建或在浏览器中创建。”

    或者,可以通过顶级菜单“Git”>“GitHub”或“Azure DevOps”>“新建拉取请求”导航到“新建拉取请求”窗口,从远程分支创建拉取请求。 或在 Git 存储库窗口中右键单击分支。

    Visual Studio 2022 中已选中“GitHub”并突出显示“新建拉取请求”文本的 Git 顶级菜单。

    或者,右键选择 Git 存储库窗口中的分支以打开上下文菜单,然后选择 “新建拉取请求”

    Git 存储库窗口,其中突出显示了 Visual Studio 2022 中的传出/传入链接文本。

  4. 选择要合并到的分支,并为拉取请求提供描述性标题和说明。 可使用 markdown 语法设置 Visual Studio 中的拉取请求说明的格式。 尝试在“说明” 框中键入 markdown 符号,然后通过选择“预览”按钮来预览你的 markdown。

    提示

    借助 Visual Studio 2022 版本 17.10 及更高版本和 GitHub Copilot 扩展,可以使用 AI 生成描述更改的详细拉取请求说明。 按 sparkle 笔图标请求 GitHub Copilot 生成 PR 说明。 若要安装 GitHub Copilot,请参阅 在 Visual Studio 中安装和管理 GitHub Copilot

    闪亮的笔图标的屏幕截图,用于请求 GitHub Copilot 生成 PR 描述。

    “新建拉取请求”窗口,其中突出显示了 Visual Studio 2022 中的预览按钮文本。

  5. 差异预览功能允许您查看作为您拉取请求一部分提交的文件中的所有更改。 请参阅比较文件 - 差异视图

    提示

    摘要差异视图选项仅允许查看已更改的代码部分。

    在 Visual Studio 2022 中,“新建拉取请求”窗口的摘要按钮文本被突出显示。

  6. 可以通过引用 问题搜索来链接工作项,也可以在说明框中键入 # 或按右下角的 # 按钮。 还可以通过键入其 GitHub 用户名或 Azure DevOps 标识或电子邮件来添加审阅者。

    说明框中带有 # 的新拉取请求,以及 Visual Studio 2022 中显示的相关 GitHub 问题和拉取请求的列表。

  7. 在拉取请求上单击“创建”后,其他开发人员可以查看你的更改并提供反馈。 或者,使用 Visual Studio 17.12 及更高版本,单击下拉箭头并选择“创建为草稿”

    屏幕截图,其中显示了创建新拉取请求作为草稿的选项。

使用 Visual Studio 17.12 及更高版本,可以启用 Pull Request 模板 功能(在 工具>选项>环境>预览功能),这样在为 GitHub 和 Azure DevOps 创建新的 Pull Request 时,存储库中的默认 PR 模板将被使用。 详细了解如何在 GitHub 文档Azure DevOps 文档中将拉取请求模板添加到存储库。

在编辑器中查看或添加拉取请求注释

使用 Visual Studio 17.11 或更高版本,你可以查看审阅者的评论和建议,而无需将上下文切换到浏览器。

显示 PR 注释的 屏幕截图。

若要启用此功能,请打开 工具>选项>预览功能,并确保选中 拉取请求批注

查看拉取请求评论

若要查看拉取请求的注释,请签出具有活动拉取请求分支的任何分支,并从信息栏选择“在文件中显示注释”。 还可以在“Git 更改”窗口中选择 PR 编号,或通过“Git”>“GitHub”或“Azure DevOps”>“在文件中显示注释”,从 Git 顶级菜单中选择

显示“Git 更改”窗口中查看注释的链接的屏幕截图。

添加拉取请求注释

使用 Visual Studio 17.13 或更高版本,可以查看拉取请求或添加注释。

若要启用此功能,请打开 工具>选项>预览功能,并确保选中 拉取请求批注。 激活这些功能后,签出具有活动拉取请求的任何分支,单击信息栏中的“在文件中显示注释”,然后使用代码文件上方的工具栏按钮浏览更改

若要添加批注,请单击编辑器左侧的 添加批注 图标,如以下屏幕截图所示。

屏幕截图显示在拉取请求中查看文件更改时的“添加注释”图标。

您还可以右击代码行,然后在上下文菜单中选择“Git >添加注释”

在评论窗口中点击 “添加评论”按钮之前,评论文本不会被发布。

使用注释框中的“回复”部分可以继续对现有注释进行对话。 注释处于活动状态或已解决。 可以单击 答复和解决 来答复批注,即可将状态更改为已解决,或者使用批注上方的下拉列表更改状态。

可以通过单击图标或单击三个点来切换批注状态,也可以将批注文本复制到剪贴板,将批注链接复制到剪贴板,删除批注,或在提供商站点的 Web 浏览器中打开批注(如 github.com 或 Azure DevOps 项目网站)。

对于某些 Git 提供程序,向拉取请求添加注释的能力受到限制。 例如,使用 GitHub 作为供应商时,只能在变更范围的 3 行内添加评论,而使用 Azure DevOps 作为供应商时,则可以在拉取请求中涉及文件的任何行添加评论。 在任何情况下,只能对拉取请求中包含的文件添加注释。

使用键盘

可以使用工具栏中的图标在文件和单个注释之间导航,也可以使用以下键盘快捷方式:

行动 键盘快捷键
转到拉取请求中的上一个文件 Ctrl+Shift+Alt+F6
转到拉取请求中的下一个文件 Ctrl+Alt+F6
转到上一条注释 Ctrl+Shift+Alt+F8
转到下一条注释 Ctrl+Alt+F8
隐藏文件中的注释 Ctrl+Shift+F1

后续步骤

若要继续此旅程,请访问在 Visual Studio 中提取、拉取和同步页。

另请参阅