我想检查之前创建的拉请求(通过GitHub web界面创建)。我搜索了一下,发现不同的地方有裁判/拉或裁判/拉/pr
但是当我添加fetch = +refs/pull/*/head:refs/remotes/origin/pr/*到git配置文件并进行git取回时
我哪里做错了?GitHub应该自动创建拉/xyz东西,还是我必须配置一些东西?
我想检查之前创建的拉请求(通过GitHub web界面创建)。我搜索了一下,发现不同的地方有裁判/拉或裁判/拉/pr
但是当我添加fetch = +refs/pull/*/head:refs/remotes/origin/pr/*到git配置文件并进行git取回时
我哪里做错了?GitHub应该自动创建拉/xyz东西,还是我必须配置一些东西?
当前回答
这将在你不需要命名分支的情况下获取:
git pull origin pull/939/head
如何在我的机器上获得特定的拉取请求?
其他回答
如果你遵循“github fork”工作流,在这里你创建了一个fork并添加了远程上游回购:
14:47 $ git remote -v
origin git@github.com:<yourname>/<repo_name>.git (fetch)
origin git@github.com:<yourname>/<repo_name>.git (push)
upstream git@github.com:<repo_owrer>/<repo_name>.git (fetch)
upstream git@github.com:<repo_owner>/<repo_name>.git (push)
要拉入当前分支,你的命令看起来像这样:
git pull upstream pull/<pull_request_number>/head
要拉入一个新的分支,代码看起来像这样:
git fetch upstream pull/<pull_request_number>/head:newbranch
参考Steven Penny的回答,最好创建一个测试分支并测试PR。
创建一个测试分支,将PR合并到本地。假设你在主分支上:
Git checkout -b test
让PR变更进入测试分支
Git拉原点拉/939/头:test
现在,您可以安全地在这个本地测试分支上测试更改(在这种情况下,名为test),一旦您满意,就可以像往常一样从GitHub合并它。
我正在使用hub,一个来自github的工具:https://github.com/github/hub
使用hub在本地检出一个pull请求有点容易:
hub checkout https://github.com/owner/repo/pull/1234
or
hub pr checkout 1234
要快速检查本地的PR,请打开它并检查从中创建PR的分支名称。
正如我们在上面的红线中看到的,分支的名称是'CLUPET-173-glrr-apis' 使用下面的命令来快速查看PR/Branch中的代码
git checkout origin/CLUPET-173-glrr-apis
现在这段代码在您的本地将运行为分离头模式。
停止所有PR代码查看,并返回到前一个分支
git switch -
如果你想移动PR(加上你在获取PR后所做的任何新的本地更改)到一个新的本地分支,使用下面的命令
git switch -c myNewLocalBranch
要获取远程PR到本地回购,
git fetch origin pull/$ID/head:$BRANCHNAME
其中$ID是拉请求ID, $BRANCHNAME是你想要创建的新分支的名称。一旦您创建了分支,那么简单
git checkout $BRANCHNAME
例如,让我们想象一下,你想从源主分支签出拉请求#2:
git fetch origin pull/2/head:MASTER
更多信息请参阅官方GitHub文档。