我有一个主站和局部分支从它分叉,如下图所示:如何分开一个分支,它重新连接到一些不同的分支在Git中
A---B---C---D master
\
E---F topic
我要脱离这个主题分支,其连接到我的功能分支如下图所示:
G---H---I---J feature
\
E---F topic
这里主控和功能分支都存在于远程和本地,而主题只在我的本地。我想在将其重新附加到功能后推送主题。
感谢
我有一个主站和局部分支从它分叉,如下图所示:如何分开一个分支,它重新连接到一些不同的分支在Git中
A---B---C---D master
\
E---F topic
我要脱离这个主题分支,其连接到我的功能分支如下图所示:
G---H---I---J feature
\
E---F topic
这里主控和功能分支都存在于远程和本地,而主题只在我的本地。我想在将其重新附加到功能后推送主题。
感谢
如果feature
包含B
,那么它就像topic
分支中的git rebase feature
一样简单。如果不是这种情况,你将需要:
git rebase --onto feature B
所不同的是,因为如果B
不feature
载,底垫命令将不知道能重放之前回风。
一般而言,git rebase --onto X Y
的意思是“在之上重播所有提交,在X
之上”。 git rebase X
是第一个找到HEAD
和X
(Z = git merge-base HEAD X
)的共同祖先的简写,然后在X
之上重播Z
之后的所有提交。
你想要做一个rebase:
git checkout topic-branch
git rebase feature-branch
Git的书中有关于这个问题的一章也一样,如果你想更深入的了解:https://git-scm.com/book/en/v2/Git-Branching-Rebasing
是的功能分支没有B. –