我有一个主分支和主题分支,如下所示:
A---B---C---D master
\
E---F topic
我想分离这个主题分支并将其附加到我的功能分支,如下所示:
G---H---I---J feature
\
E---F topic
此处主要和功能分支存在于远程和本地,而主题仅在我的本地。我想在将主题重新连接到功能后推送主题。
由于
答案 0 :(得分:2)
如果feature
包含B
,那么它就像git rebase feature
分支中的topic
一样简单。如果不是这种情况,您需要:
git rebase --onto feature B
不同之处在于,如果B
中未包含feature
,则rebase命令将无法知道在重播之前要回退多远。
通常,git rebase --onto X Y
表示“在Y
之后重播X
之后的所有提交”。 git rebase X
是速记,首先找到HEAD
和X
(Z = git merge-base HEAD X
)的共同祖先,然后重播Z
之后X
之后的所有提交}。
答案 1 :(得分:1)
您想要rebase:
git checkout topic-branch
git rebase feature-branch
Git book也有关于这个主题的章节,如果你想要更深入的知识:https://git-scm.com/book/en/v2/Git-Branching-Rebasing
答案 2 :(得分:1)
您需要结帐主题分支
git checkout \E--F(*topic branch)`
然后所有内容将与远程分支同步 你需要改变你的功能分支
git rebase G--H--I--J(*feature branch)