使用 GitHub pull requests
拉取请求用于开源项目或一些企业工作流程中,以管理贡献者的更改,并在这些更改合并之前启动代码审查。
通过创建拉取请求,您可以告知其他人您希望推送到原始存储库的更改,以便该存储库的维护者可以审查您的更改、讨论并将其集成到基础分支中。
创建拉取请求
在主菜单中,进入 . 拉取请求 工具窗口打开后会显示一个拉取请求草稿。

或者,打开 拉取请求 工具窗口并点击右上角的
创建拉取请求…。
左侧的存储库是将接收更新的 基础存储库。
点击其名称并选择您希望应用更改的分支。

右侧的代码库是将更改添加到基本代码库中的 head代码库。
点击其名称并选择包含您希望应用的更改的分支。

如果您有一个使用 多个远程存储库 的项目,您也可以在此弹出窗口中更改主存储库。
在 变更来源 中,选择您希望包含在拉取请求中的提交。
双击任何文件的名称以打开差异视图并审查您即将提交的更改。
请在 标题 字段中指定您的 pull request 的名称,并且可以选择性地提供通过您的请求应用的更改描述。
可选地添加审阅者,将您的 pull request 分配给某人,或向您的 pull request 添加标签。
点击 创建拉取请求。
如果您还没有准备好推送您的 pull request,可以将其保存为草稿。
点击
按钮旁边的 创建拉取请求。
在打开的菜单中,选择 创建草稿拉取请求。
您的 pull request 将作为草稿出现在 GitHub 仓库中。 您可以稍后通过在主菜单中选择 返回到它。
如果您有一个 pull_request_template.md 文件,CLion 应该将模板描述添加到您的 pull requests 中。 有关模板的更多信息,请参阅 GitHub 文档。
管理传入的 pull requests
如果您是项目维护者,并且为您的项目配置了 GitHub 远程仓库,您可以直接在 CLion 中查看和管理传入的拉取请求。
要查看传入的 pull requests,请在主菜单中选择 。

使用 拉取请求 工具窗口来:
按状态、作者、标签、受托人和审查状态筛选请求。
跳转到 GitHub 上的拉取请求 :选择一个拉取请求并从上下文菜单中选择 在浏览器中打开拉取请求。
查看差异 在建议更改和基准修订版之间:点击拉取请求的名称,选择一个文件,然后双击它或按 Ctrl+D。
基于传入更改创建本地分支 :打开拉取请求,点击带有传入更改的分支,并在上下文菜单中选择 签出 'branch name'。

调查分支相关变更 在 日志 选项卡中的 Git 工具窗口:打开一个拉取请求,点击带有传入更改的分支,并在上下文菜单中选择 在 Git 日志中显示 'branch name'。
这将帮助您浏览与此 pull request 相关的代码,确保项目构建并且测试通过。
解决合并冲突 :如果传入拉取请求中的分支存在合并冲突,您可以直接从 拉取请求 工具窗口解决它们,方法是从目标分支创建合并提交或重新基于目标分支。

为了确保您始终拥有关于拉取请求的最新信息,请按 Ctrl+F5。 或者,右键点击拉取请求列表并选择 刷新列表。
审核 pull request
当有需要您注意的更改时, 拉取请求 工具窗口将会出现一个白色点,未查看的 pull requests 将用蓝点标记。

在主菜单中,进入 .
在拉取请求列表中,选择您要处理的请求并双击它。
CLion 打开所选 pull request 的概述。

标题旁边是拉取请求编号。 如果您想在 GitHub 上打开 pull request,请点击此处。
点击 查看时间线 按钮以打开拉取请求时间线。
要筛选更改文件的列表,请在 变更来源 中选择要调查的提交。
右键点击任何文件以打开该文件的上下文菜单。
如果审核员留下了任何评论或建议,文件列表中会有一个计数器显示评论数量。
点击包含传入更改的分支并在上下文菜单中选择 签出 'branch name' 以启动审查模式。

选择您想要调查的文件,右键点击它并从上下文菜单中选择 跳转到源 F4。
在打开的文件中,边栏中的粉色标记指示可供审查的更改和评论。
点击边栏中的评论图标将隐藏或打开评论。

点击粉色标记会显示一个弹出窗口,显示原始代码。

将鼠标悬停在边栏上并点击
以留下评论。
如有建议,请将您的代码版本添加在以
suggestion指定的 Markdown 代码块中。```suggestion Your suggestion for this code line ```
选择 添加单个评论 立即发布评论,并通知其他审阅者。
选择 开始审查 添加多条注释。
在您提交评论前,您的评论将被标记 待处理 ,您可以编辑或删除它们。
要对整个拉取请求放置高级备注,请打开此拉取请求的时间线视图。
当您准备好完成审查时,请在拉取请求概览中点击 提交。

或者,打开分支弹出窗口并点击 提交审查。
请选择其中一个可能的结果:
批准 :批准合并更改。
请求更改 :要提交反馈,pull request 作者必须在合并之前应用建议的更改。
注释 :提交评论无需审批。
查看并应用建议的更改
如果原始代码库的维护者对您的更改留下了评论或提出了建议,您可以直接从 CLion 查看并应用它们。
在主菜单中,进入 .
在拉取请求列表中,选择您要处理的请求并双击它。
CLion 打开所选 pull request 的概述。
双击文件以查看建议的更改和评论。
您可以解决评论、回复评论或留下您的反应。
如果审查员提出了建议,您将看到您的代码与建议代码之间的差异,并可以 本地应用 (将补丁应用到工作副本)或 提交 (打开提交消息弹出窗口)。
当您完成对拉取请求的处理后,您可以重新请求审查、合并拉取请求或关闭它。
合并或关闭 pull request
提交您的评审并解决所有问题后,您可以合并或关闭该 pull request。
在主菜单中,进入 .
在拉取请求列表中,选择您要处理的请求并双击它。
在概览的底部,有一个按钮包含合并选项,这些选项根据审查过程的阶段而有所不同。

如果您在审核后批准了更新,您可以通过点击 合并 来合并 pull request。
如需更多合并选项,请点击
并选择 压缩并合并 以在合并之前将您的更改的提交压缩为一个,或 Rebase 以从拉取请求分支变基提交并将其添加到基分支。
点击
更多 ,如果需要对此 pull request 请求另一个意见,请选择 请求审查 ;如果不想合并,请选择 关闭拉取请求。
如果您准备在不提交审查的情况下合并 pull request,请在 pull request 概览中点击
并选择 合并、 压缩并合并 或 Rebase。
