如何更新github pull请求创建的git分支以及更新的更新

时间:2015-06-26 23:56:50

标签: git github pull-request

我正在尝试使用github fork-and-pull模型扮演维护者的角色(完全访问黄金回购)和贡献者的角色(通​​过分叉和创建拉取请求做出贡献)。

GitHub明确指示维护者如何从pull请求创建本地分支,以便在本地查看代码(即构建/测试/等): 从你的项目回购:

git checkout -b pr-review-branch-name master
git pull [fork-url-from-pull-request]

到目前为止一切顺利。作为维护者,我评论PR,并要求一些额外的工作。贡献者继续进行并进行所请求的更改,将它们推送到服务器上的分支(并更新拉取请求消息板)。

我的问题:作为维护者,我是否需要创建一个如上所述的新分支来拉取拉取请求中的更新代码?或者有没有办法让我更新我上面创建的分支?

更新:这是我的确切命令(删除了身份):

$ /c/ws/demo/maintainer
$ git clone https://server.xyz.com/PoCs/fork-and-pull-test.git
Cloning into 'fork-and-pull-test'...
Checking connectivity... done.

$ /c/ws/demo/maintainer
$ cd fork-and-pull-test/

$ /c/ws/demo/maintainer/fork-and-pull-test (master)
$ git checkout -b pr-review-branch-name master
Switched to a new branch 'pr-review-branch-name'

$ /c/ws/demo/maintainer/fork-and-pull-test (pr-review-branch-name)
$ git pull https://server.xyz.com/forker/fork-and-pull-test.git master
...
From https://server.xyz.com/forker/fork-and-pull-test
 * branch            master     -> FETCH_HEAD
Updating 57e8399..96cada4
Fast-forward
..

$ /c/ws/demo/maintainer/fork-and-pull-test (pr-review-branch-name)
$ git status
On branch pr-review-branch-name
nothing to commit, working directory clean

$ git remote -v
origin  https://server.xyz.com/PoCs/fork-and-pull-test.git (fetch)
origin  https://server.xyz.com/PoCs/fork-and-pull-test.git (push)

1 个答案:

答案 0 :(得分:1)

分叉你的存储库的人(我称之为" forker")有一个远程克隆,他们正在提交他们的功能分支。 pull请求只是从远程存储库获取更改,然后将它们合并到本地分支。 (注意:由于git pullgit fetch && git merge相同,您可能会想到"拉取请求"作为"提取和合并请求"。)

如果您已经从forker的存储库中取出(假设他们的遥控器被称为" forker"),您可能会运行如下命令:

git remote add forker https://github.com/forker/myrepo.git

已经拥有该分支的本地副本,并且该分支具有与forker的远程存储库关联的远程数据库。

如果您运行git remote -v,您应该会看到forker的存储库:

$ git remote -v
origin      git@github.com:me/myrepo.git (fetch)
origin      git@github.com:me/myrepo.git (push)
forker      git@github.com:forker/myrepo.git (fetch)
forker      git@github.com:forker/myrepo.git (push)

然后,您可以运行git pull forker pr-review-branch-name以使用其最新提交更新本地分支pr-review-branch-name。每次更新分支时都不需要创建新的分支。