【发布时间】:2019-01-04 06:10:58
【问题描述】:
我在 github 上创建了一个 repo。 Upstream 中有一些新的拉取请求。我想从本地上游拉一个拉取请求。
我该怎么做?我不知道,也没有发现任何与此相关的东西。
【问题讨论】:
我在 github 上创建了一个 repo。 Upstream 中有一些新的拉取请求。我想从本地上游拉一个拉取请求。
我该怎么做?我不知道,也没有发现任何与此相关的东西。
【问题讨论】:
您应该能够通过首先将上游添加为远程,然后拉取请求来做到这一点:
git remote add upstream https://github.com/USER/repository.git
git pull upstream pull/ID/head:BRANCHNAME
git checkout BRANCHNAME
其中USER 不是您的用户名,而是原始用户名(您从中分叉的用户名),ID 是拉取请求 ID,BRANCHNAME 将是与拉取请求对应的本地分支名称。
如果您想稍后推送到自己的 fork,您可能必须设置上游(来自BRANCHNAME):
git push -u origin BRANCHNAME
【讨论】:
pull --rebase。
见https://help.github.com/articles/checking-out-pull-requests-locally/:
git fetch origin pull/ID/head:BRANCHNAME
git checkout BRANCHNAME
其中ID 是拉取请求编号,BRANCHNAME 是新本地分支的任意名称。
【讨论】:
GitHub API supports 使用 PUT 请求合并服务器上的拉取请求。因此,您可以在本地执行 PUT 并合并拉取请求。
但请注意,这仅表示服务器上发生了合并。如果您在某个分支上,比如master,并且您远程触发了拉取请求,如果您想要最新的内容,您仍然需要拉取:
git pull origin master
【讨论】:
拉取请求不是 git 功能,它是一个工作流,因此如果需要复制,则必须遵循。所以唯一的办法就是在本地做同样的事情。
git checkout featureA # as it has to be on origin
git checkout master/develop
git merge featureA
此时您处于拉取请求的状态。
【讨论】:
试试这个 - 做一个
git pull
为了确保你在 master 中有最新的变化,然后在 master 分支上,做一个
git checkout <branch name >
到有 PR(pull request) 的期望,最后做一个
git pull
在那个分支上。我相信它应该拉取具有拉取请求的分支的当前状态。
【讨论】: