我有一棵这样的树:
(commit 1) - master
\-- (commit 2) - (commit 3) - demo
\-- (commit 4) - (commit 5) - PRO
而且我必须将 PRO 分支移动到 master
(commit 1) - master
|-- (commit 2) - (commit 3) - demo
\-- (commit 4) - (commit 5) - PRO
我尝试了 PRO 分支的 git rebase master
,但没有任何反应。
澄清一下:我在 master 工作,然后我不得不制作一个产品演示(git checkout -b demo
和一些提交)。然后,我错误地从 demo 创建了另一个分支(git checkout -b PRO
和一些提交),现在我需要将 PRO 分支移动到 master 并保持 demo 不变。最后,demo 和 PRO 都会卡在 master 上。
最佳答案
假设newBase
是您要将提交移至的分支,oldBase
是你分支的旧基础,你可以使用 --onto
为此:
git rebase --onto newBase oldBase feature/branch
鉴于您的情况:
git checkout PRO # Just to be clear which branch to be on.
git rebase --onto master demo PRO
基本上,您获取了 demo
之后的所有提交直至并包括 PRO
, 并将它们 rebase 到 master
提交。
关于git - 改变分支基地,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10853935/