审查拉取请求#
使用工作流程功能#
审查拉取请求时,请根据需要使用 Github 上的工作流程跟踪功能。
在您完成审查后,并希望要求提交者进行更改
将您的审查状态更改为“需要更改”。
这可以在 Github 上的 PR 页面、
Files changed
选项卡、Review changes
(右上角按钮)上完成。或者:添加
needs-work
标签。这可以在 PR 页面上的
Labels
菜单(右侧)上完成。
当您再次审查同一个拉取请求时,并希望要求更多更改
再次执行“需要更改”操作,即使之前的状态也是“需要更改”。
或者:删除现有的
needs-work
标签,然后重新添加该标签。(Github 将在页面上添加一条关于您执行此操作的通知。)
如果您对当前状态满意
将拉取请求标记为已批准(与“需要更改”相同的方式)。
或者:删除
needs-work
标签。或者(针对核心开发者):如果您认为拉取请求已准备好合并,请合并它。
这允许自动跟踪哪些 PR 需要关注。
某些信息也可以直接在 Github 上看到,尽管(截至 2019 年 8 月)Github 不会显示自上次审查以来哪些拉取请求已更新。
来自拉取请求的代码#
当您审查其他人创建的拉取请求时,在自己的机器上拥有他们的代码副本会很有帮助,这样您就可以在本地玩弄它。
一种方法是安装 GitHub CLI,然后在终端中导航到 SciPy 根目录并输入
gh pr checkout PULL_REQUEST_ID
其中 PULL_REQUEST_ID
是与拉取请求相对应的五位数字(例如,对于 PR #10286,为 10286
)。这会立即将拉取请求检出到一个分支中,该分支的名称与 PR 作者使用的名称匹配。
假设您按照 从源代码构建 设置了开发环境,您现在可以激活您的开发环境
conda activate scipy-dev
构建代码并测试它
python dev.py test -v
如果您从 IPython 内部 import
SciPy(用 python dev.py 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
),那么您可以创建拉取请求以将您的更改与作者的存储库合并。