比如说,从我最初的主人那里,我对它做了某些更改,并在t1
时提交了更改,然后将其推送到github(称为branchA
)。然后我做了一些其他的更改,并在t2
时提交了它。我不想把它推到branchA
,但我想把它推到另一个名为branchB
的分支。
是否可以将branchA
列为branchB
的先决条件,以便在我执行拉取请求时,branchB
中的差异不包括t1
之前提交的更改,换句话说,branchB
中的差异应仅显示branchA
和branchB
之间的差异?Bazaar/Launchpad
提供了这个选项,但我在Github
中找不到类似的功能。(我是新来的git
,所以也许这不是他们在Github
中做的事情?)
最佳答案
这意味着你有:
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
后面的x
(t1
)上,以便在将其推到您的叉子上之前在本地构建branchB
。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