有时pull requests非常复杂和/或可能bug - 骑行。在这种情况下,仅通过阅读代码来检查拉取请求可能有点不合理。 checkout,pull和build在merging之前首先在本地提取请求更有意义。通过这种方式,repo维护者可以更有信心拉取请求不会引入任何回归问题。
我可以很容易地从command-line查看拉取请求,但我更愿意使用SourceTree。我知道使用命令行简单明了,但我相信尽可能使用GUI工具而不是命令行工具。 SourceTree已经成为git client事实上的标准gui windows,所以看起来SourceTree会拥有这个基本功能。但是,我尝试了许多不同的命令和对话框,我似乎无法访问SourceTree中的pull请求。
使用SourceTree可以在本地提取拉取请求吗?怎么样?
答案 0 :(得分:3)
我在不使用命令窗口的情况下寻找更好的方法时遇到了您的问题。
我目前的做法是:
它不能直接访问PR,但它确实为我提供了更改的本地副本。我仍然接受并合并或通过github请求修改。如果PR发生变化,我只需将更新拉入分支。
Sourcetree似乎将PR视为管理原始回购的本地更改返回的一种方式。
答案 1 :(得分:2)
无法直接在SourceTree中检出来自分叉回购的拉取请求。
我将此问题转发给了atlassian问答板,并且the question was answered in a comment。
据我所知,没有办法在其中执行此操作 sourcetree直接,因为sourcetree用于处理git repos 您在本地而不是使用PR或远程回购 您可以访问Bitbucket或Github。
基本上你必须单独克隆另一个repo,然后切换到用于拉取请求的任何分支。
令人遗憾的是,这个功能在命令行中非常简单,但在SourceTree的Gui中更加麻烦。
答案 2 :(得分:1)
将您的.git/config
更改为以下内容并进行提取:
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = git@github.com:{user}/{repo}.git
+ fetch = +refs/pull/*/head:refs/remotes/origin/pr/*
答案 3 :(得分:1)
对于 Bitbucket,我使用了 Abhishek 的答案,但添加了 fetch = +refs/pull-requests/*:refs/remotes/origin/pull-requests/*
而不是 fetch = +refs/pull/*/head:refs/remotes/origin/pr/*
答案 4 :(得分:0)
您可以获取pr分支,然后像任何其他分支一样处理PR。见https://gist.github.com/piscisaureus/3342247
基本上,所有PR都在refs/pull/*/head
下,您通常使用的所有分支都位于refs/heads
答案 5 :(得分:0)
根本不可能在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
答案 6 :(得分:0)