审查 Pull Request#
使用工作流功能#
在审查 Pull Request 时,请根据需要使用 Github 上的工作流跟踪功能
在您完成审查后,并希望要求提交者进行更改
将您的审查状态更改为“更改已请求”。
这可以在 Github 的 PR 页面、`
Files changed` 选项卡、`Review changes` (右上角的按钮) 上完成。或者:添加 `
needs-work` 标签。这可以在 PR 页面右侧的 `
Labels` 菜单上完成。
当您再次审查同一个 Pull Request,并希望请求更多更改时
再次执行“更改已请求”操作,即使之前的状态也是“更改已请求”。
或者:删除现有的 `
needs-work` 标签,然后重新添加该标签。(Github 会在页面上添加通知,说明您已执行此操作。)
如果您对当前状态感到满意
将 Pull Request 标记为已批准(与“更改已请求”相同的方式)。
或者:删除 `
needs-work` 标签。或者(对于核心开发者):如果您认为它已准备好合并,则合并 Pull Request。
这可以自动跟踪哪些 PR 需要关注。
部分信息也可以直接在 Github 上查看,尽管(截至 2019 年 8 月),Github 不会显示自上次审查以来已更新的 Pull Request。
Pull Request 中的代码#
当您审查由其他人创建的 Pull Request 时,将他们的代码复制到您自己的机器上以便本地使用会很有帮助。
一种方法是安装 GitHub CLI,然后导航到 SciPy 的根目录并在终端中输入
gh pr checkout PULL_REQUEST_ID
其中 `PULL_REQUEST_ID` 是与 Pull Request 对应的五位数(例如,`10286` 用于 PR #10286)。 这会立即将 Pull Request 检出到与 PR 作者使用的名称匹配的分支中。
假设您已根据 从源代码构建 设置了您的开发环境,现在您可以激活您的开发环境
conda activate scipy-dev
构建代码并进行测试
spin test -v
并且如果您从 IPython 中 `import` SciPy(使用 `spin ipython` 启动),您将导入作者修改后的 SciPy 版本。
如果您想与作者合作处理他们的 PR,您可能需要设置一个新的远程仓库到作者的 SciPy 分支
git remote add REMOTE_NAME https://github.com/AUTHOR/scipy.git
其中 `AUTHOR` 是作者的 GitHub 用户名,`REMOTE_NAME` 是您想要用来引用该作者仓库的任何名称。
从那里,您可以查看作者的分支
git remote show REMOTE_NAME
并基于其中一个分支创建您自己的分支
git checkout --track REMOTE_NAME/BRANCH_NAME
其中 `BRANCH_NAME` 是您想要开始的分支名称。 这会在您的本地仓库中创建该分支的副本(具有相同的名称)。 如果您更改此分支并推送到您的 GitHub 仓库(`origin`),则可以创建一个 Pull Request 以将您的更改与作者的仓库合并。