有时pull requests非常复杂和/或潜在的bug缠身。在这种情况下,仅通过阅读代码来检查拉取请求可能有点不合理。 checkout,pull和build在merging之前首先在当地提出请求更有意义。通过这种方式,repo维护者可以更有信心拉取请求不会引入任何回归问题。
我可以很容易地从command-line查看拉取请求,但我更愿意使用SourceTree。我知道使用命令行简单明了,但我相信在命令行工具中尽可能使用GUI工具。 SourceTree已经成为git client事实上的标准gui windows,所以看起来SourceTree会有这个基本功能。但是,我尝试了许多不同的命令和对话框,我似乎无法访问SourceTree中的pull请求。
可以使用SourceTree在本地提取拉取请求吗?怎么样?
我在寻找更好的方法时遇到了你的问题而没有使用命令窗口。
我目前的做法是:
它不能直接访问PR,但它确实为我提供了更改的本地副本。我仍然接受并合并或通过github请求修改。如果PR更改我只是将更新拉入分支。
Sourcetree似乎将PR视为管理原始回购的本地更改返回的一种手段。
无法直接在SourceTree中检出来自forked repo的pull请求。
我把这个问题转发给了atlassian问答板,以及the question was answered in a comment。
据我所知,没有办法在sourcetree中直接执行此操作,因为sourcetree用于处理您在本地使用的git repos而不使用您可能在Bitbucket或Github中访问的PR或远程repos 。
基本上你必须单独克隆其他repo,并切换到用于pull请求的任何分支。
从命令行来看,这种功能很难过,但在SourceTree的Gui中更加麻烦。
将您的.git/config
更改为以下内容并进行取件:
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = [email protected]:{user}/{repo}.git
+ fetch = +refs/pull/*/head:refs/remotes/origin/pr/*
你可以获取pr分支,然后像任何其他分支一样对待PR。见https://gist.github.com/piscisaureus/3342247
基本上,所有的PR都在refs/pull/*/head
下,你经常使用的所有分支都在refs/heads
下
根本不可能在Bitbucket上结帐分叉回购。
您必须下载补丁并申请测试
# Download the patch file.
curl -u user:password https://bitbucket.org/api/2.0/repositories/{user}/{repo}/pullrequests/{pull_no}/patch -L -o name.patch
# Apply the patch file to your local Git checkout.
git apply name.patch