3

说,从我原来的主人那里,我对它做了一定的改变,并在t1我把它推送到 github(调用它branchA)的时候提交了这个改变。然后我做了一些其他的改变并及时提交t2。我不想将其推送到branchA,但我想将其推送到另一个名为branchB.

是否可以将其branchA列为先决条件,branchB以便当我执行拉取请求时,差异branchB不包括提交的更改t1,换句话说,差异应该只显示和branchB之间的差异?branchAbranchB

Bazaar/Launchpad提供此选项,但我无法在Github. (我是新手git,所以也许这不是他们在做的事情Github?)

4

1 回答 1

1

这意味着你有:

Local Repo                  Upstream (GitHub Repo)

 .--.--o--x--y branchA   <====> o--o--x branchA
(master)

但你想要:

.--.--o--x branchA      <====> o--o--x branchA
(mast) \
        y branchB        => you can push now

这意味着您需要首先重新定位( )o之后的内容,以便在本地构建,然后再将其推送到您的 fork。xt1branchB

git checkout branchA                
git branch branchB                  # creates branchB where branchA currently is
git reset --hard origin/branchA     # reset branchA to x
git rebase --onto master x branchB  
于 2013-02-18T22:05:17.213 回答