审核拉取请求#
使用工作流功能#
在审查拉取请求时,请根据需要在Github上使用工作流程跟踪功能:
在您完成审查并希望要求提交者进行更改之后:
将您的审核状态更改为“请求更改”。
这可以在Github上完成,PR页面,
Files changed
标签,``Review changes``(右上角的按钮)。或者:添加
needs-work
标签。这可以在 PR 页面,右侧的
标签
菜单中完成。
当你再次审查同一个拉取请求,并希望请求更多更改时:
即使之前的审核状态也是“需要修改”,也请再次执行“修改请求”的操作。
或者:移除现有的
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
),你就可以创建一个拉取请求,将你的更改与作者的仓库合并。