从请求GitHub克隆?
我想从GitHub克隆一个存储库。 问题是我不想要主分支; 我想在这个未经批准的拉请求中的版本。
我有可能克隆拉请求版本,而不是主存储库?
 您可以通过在git clone命令中使用-b选项来克隆所需的分支。 
在你的情况下,你想克隆的分支是拉请求的源分支(feature / mongoose-support):
 git clone https://github.com/berstend/frappe.git -b feature/mongoose-support /my_clone 
最简单的方法是这样的:
 git fetch origin pull/2/head git checkout -b pullrequest FETCH_HEAD 
您现在将处于处于请求状态的新分支上。
 git fetch origin refs/pull/PR_NUMBER/head:NEW_LOCAL_BRANCH 
例如:
 $ git fetch origin pull/611/head:pull_611 $ git checkout pull_611 
进行更改,提交它们,从GitHub上的fork中打开新的PR
您可以按照这个要点的方向,直接检查远程,而不必找出他们的存储库和分支。
用法示例
 对于我的一个项目(github3.py),我在github3.py/.git/config有以下github3.py/.git/config 
 [remote "github"] fetch = +refs/heads/*:refs/remotes/github/* fetch = +refs/pull/*/head:refs/remotes/github/pr/* url = git@github.com:sigmavirus24/github3.py 
 第一行是每个远程的标准,除了github被远程的名字所替代。 这意味着远程主pipe(或该服务器上分支机构的负责人)被“映射”到以github/为前缀的本地远程机器github/ 。 所以,如果我做了git fetch github并且在GitHub上有一个在我的机器上没有在本地注意到的分支,它会下载分支,我可以像这样切换到它: git checkout -t github/branch_name 。 
 第二行做同样的事情,但它是为了拉取请求,而不是标准的git分支。 这就是为什么你看到refs/pull/*/head 。 它获取GitHub上每个请求的头部并将其映射到github/pr/# 。 那么如果有人发送了一个拉请求,它的编号是62(例如),你可以这样做: 
 git fetch github git checkout -t github/pr/62 
 然后你会在一个名为pr/62的本地分支(假设它不存在)。 这很好,意味着你不必跟踪其他人的遥控器或分支机构。 
当用户提交一个pull请求时,他们要求将一个分支的克隆从一个分支合并到另一个用户的仓库。
 您需要的更改可以从拉取请求的源中获取。 为此,请克隆用户的存储库( git://github.com/berstend/frappe.git ),然后从( feature/mongoose-support )中检出他创build拉取请求的分支。 
在安装git-extras之后
 (cd /tmp && git clone --depth 1 https://github.com/tj/git-extras.git && cd git-extras && sudo make install) 
 你可以简单地使用git pr 
 $ git pr 62 [remote] 
 这个pull请求显示了这个人的fork的提交,所以你可以看到他正在从feature/mongoose-support分支推送他的更改。 
您可以克隆他的存储库并检出该分支
 git clone git://github.com/dweldon/frappe cd frappe git pull origin pull/2/head 
我怎样才能获取一个我没有拥有的分支的未合并的拉取请求?