我想检查之前创建的拉请求(通过GitHub web界面创建)。我搜索了一下,发现不同的地方有裁判/拉或裁判/拉/pr

但是当我添加fetch = +refs/pull/*/head:refs/remotes/origin/pr/*到git配置文件并进行git取回时

我哪里做错了?GitHub应该自动创建拉/xyz东西,还是我必须配置一些东西?


当前回答

对于Bitbucket,你需要将pull替换为pull-requests。

首先,你可以通过git ls-remote origin命令确认pull request URL样式。

$ git ls-remote origin |grep pull
f3f40f2ca9509368c959b0b13729dc0ae2fbf2ae    refs/pull-requests/1503/from
da4666bd91eabcc6f2c214e0bbd99d543d94767e    refs/pull-requests/1503/merge
...

正如你所看到的,它是refs/pull-requests/1503/from而不是refs/pull/1503/from

然后你可以使用任何答案的命令。

其他回答

这将在你不需要命名分支的情况下获取:

git pull origin pull/939/head

如何在我的机器上获得特定的拉取请求?

将远程公关分支机构导入本地分支机构:

Git获取来源' remote_branch ': ' local_branch_name '

配置本地分支的上游为远端分支。

git分支——set-upstream-to=origin/PR_Branch_Name local_branch

当您想再次将本地更改推到PR分支时

git push origin HEAD:remote_PR_Branch_name

参考Steven Penny的回答,最好创建一个测试分支并测试PR。

创建一个测试分支,将PR合并到本地。假设你在主分支上:

Git checkout -b test

让PR变更进入测试分支

Git拉原点拉/939/头:test

现在,您可以安全地在这个本地测试分支上测试更改(在这种情况下,名为test),一旦您满意,就可以像往常一样从GitHub合并它。

如果你遵循“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

要快速检查本地的PR,请打开它并检查从中创建PR的分支名称。

正如我们在上面的红线中看到的,分支的名称是'CLUPET-173-glrr-apis' 使用下面的命令来快速查看PR/Branch中的代码

git checkout origin/CLUPET-173-glrr-apis

现在这段代码在您的本地将运行为分离头模式。

停止所有PR代码查看,并返回到前一个分支

git switch -

如果你想移动PR(加上你在获取PR后所做的任何新的本地更改)到一个新的本地分支,使用下面的命令

git switch -c myNewLocalBranch