That gist 确实描述了您执行 git fetch 时发生的情况:
显然,更改 github url 以匹配您项目的 URL。它最终看起来像这样:
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = git@github.com:joyent/node.git
fetch = +refs/pull/*/head:refs/remotes/origin/pr/*
现在获取所有拉取请求:
$ git fetch origin
From github.com:joyent/node
* [new ref] refs/pull/1000/head -> origin/pr/1000
* [new ref] refs/pull/1002/head -> origin/pr/1002
* [new ref] refs/pull/1004/head -> origin/pr/1004
* [new ref] refs/pull/1009/head -> origin/pr/1009
...
查看特定的拉取请求:
$ git checkout pr/999
Branch pr/999 set up to track remote branch pr/999 from origin.
Switched to a new branch 'pr/999'
issues 259 中列出了各种脚本来自动执行该任务。
git-extras项目提出命令git-pr(在PR 262中实现)
git-pr(1) -- 在本地签出一个拉取请求
概要
git-pr <number> [<remote>]
git-pr clean
说明
根据 GitHub 拉取请求编号创建本地分支,然后切换到该分支。
要从中获取的遥控器的名称。默认为origin。
示例
这会检查来自origin 的拉取请求226:
$ git pr 226
remote: Counting objects: 12, done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 12 (delta 3), reused 9 (delta 3)
Unpacking objects: 100% (12/12), done.
From https://github.com/visionmedia/git-extras
* [new ref] refs/pull/226/head -> pr/226
Switched to branch 'pr/226'