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

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

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


当前回答

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

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

其他回答

假设你的起源和上游信息如下所示

   $ 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_owner>/<repo_name>.git (fetch)
   upstream   git@github.com:<repo_owner>/<repo_name>.git (push)

分行的名字是

   <repo_owner>:<BranchName>

then

   git pull origin <BranchName>

应该做这项工作

有一种使用git-cli的简单方法

gh pr checkout {<number> | <url> | <branch>}

参考:https://cli.github.com/manual/gh_pr_checkout

虽然这个线程上的大多数答案都可以工作,但我更喜欢在新的分支中获取一个pull请求,并对旧的提交进行软重置(将PR更改移动到staging区域),这允许我测试以及查看我的IDE中的差异。

git fetch origin pull/<PR-id>/head:<BRANCH_NAME>
git checkout BRANCH_NAME

然后对旧的提交进行软重置(参见使用git log的提交列表)

git reset --soft <hash_of_old_commit>

e.g

git fetch origin pull/65/head:test-branch 
git checkout test-branch
git log # press 'q' to exit
git reset --soft 7d7fe166cd878ed70c559c4e98faf2323532

运行上述命令将提取PR的更改,并将它们显示在您的IDE版本中,它们不会被提交,您可以在登台区域中看到差异(就像这些更改是在本地进行的一样)。

参考:Github文档参考

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

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

git checkout origin/CLUPET-173-glrr-apis

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

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

git switch -

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

git switch -c myNewLocalBranch

在更新版本的Git中:

Git fetch origin refs/pull-requests/<id>/from:<localbranchname>