如何更改PR上的分支?

时间:2017-06-21 00:03:18

标签: git github

我几天前在github上做了一个PR,但是我偶然在我的fork的主分支上做了我的更改。现在我无法提交其他拉取请求,因为我所拥有的主分支已被修改,并且与原始项目主分支不同步。

我怎么可能移动我制作的PR的分支,这样我可以继续创建基于master的新分支,并同时提交新的PR请求?

1 个答案:

答案 0 :(得分:0)

情况

假设你从git@github.com:jquery/jquery.git分叉了jQuery,你在你的主分支上做了两次提交,并且你从master开了一个PR。

这将是目前的状况。

$ git log --oneline --graph --decorate --all -5

* abcd123 (HEAD -> master, origin/master, origin/HEAD) Your commit two
* abcd123 Your commit one
* abcd123 Some jQuery commit
* abcd123 Some jQuery commit      
* abcd123 Some jQuery commit                                      

响应

这是将PR更改为另一个分支的方法。

首先,从您的主人创建一个新分支。

$ git checkout master
$ git checkout -b my-topic-branch
$ git push --set-upstream origin my-topic-branch

第二次,将原始存储库添加为名为upstream的新远程数据库。

$ git remote add upstream git@github.com:jquery/jquery.git

第三次,将您的主人回滚到上游主人。

$ git fetch upstream
$ git checkout master
$ git reset --hard upstream/master
$ git push --force-with-lease

最后,删除您从master创建的公关,并从my-topic-branch创建一个新公关。

结果

这将是最终的事态。

$ git log --oneline --graph --decorate --all -5

* abcd123 (origin/my-topic-branch, my-topic-branch) Your commit two
* abcd123 Your commit one
* abcd123 (HEAD -> master, upstream/master, origin/master, origin/HEAD) Some jQuery commit
* abcd123 Some jQuery commit
* abcd123 Some jQuery commit