我几天前在github上做了一个PR,但是我偶然在我的fork的主分支上做了我的更改。现在我无法提交其他拉取请求,因为我所拥有的主分支已被修改,并且与原始项目主分支不同步。
我怎么可能移动我制作的PR的分支,这样我可以继续创建基于master的新分支,并同时提交新的PR请求?
答案 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