我想检查之前创建的拉请求(通过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获取来源' remote_branch ': ' local_branch_name '
配置本地分支的上游为远端分支。
git分支——set-upstream-to=origin/PR_Branch_Name local_branch
当您想再次将本地更改推到PR分支时
git push origin HEAD:remote_PR_Branch_name
其他回答
我更喜欢在不创建本地分支的情况下提取和签出,并且处于HEAD分离状态。它允许我快速检查拉取请求,而不会用不必要的本地分支污染本地机器。
git fetch upstream pull/ID/head && git checkout FETCH_HEAD
其中ID是一个拉请求ID,上游是已经创建的原始拉请求(例如,它可以是origin)。
我不小心写了和git-extras提供的几乎一样的东西。因此,如果你更喜欢一个自定义命令,而不是安装一堆其他额外的命令,只需将这个git-pr文件放在你的$PATH中的某个地方,然后你可以这样写:
git pr 42
// or
git pr upstream 42
// or
git pr https://github.com/peerigon/phridge/pull/1
上面的一些选项的问题是,如果有人在打开PR后推送更多的提交,他们就不会给你最新的版本。 对我来说,最有效的方法是-进入PR,按下“提交”,滚动到底部查看最近的提交哈希 然后简单地使用git签出,即。
Git checkout <commit number>
在上面的例子中
git 结帐 0ba1a50
在更新版本的Git中:
Git fetch origin refs/pull-requests/<id>/from:<localbranchname>
对于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
然后你可以使用任何答案的命令。