如何分离分支并将其重新附加到 Git 中的某个不同分支

Raj*_*ava 5 git github

我有一个主分支和主题分支,如下所示:

A---B---C---D master
     \
      E---F topic
Run Code Online (Sandbox Code Playgroud)

我想分离此主题分支并将其附加到我的功能分支,如下所示:

G---H---I---J feature
             \
              E---F topic
Run Code Online (Sandbox Code Playgroud)

这里 master 和 feature 分支同时存在于远程和本地,而主题仅在我的本地。我想在将其重新附加到功能后推送主题。

谢谢

cmb*_*ley 4

如果featurecontains B,那么它就像git rebase feature来自topic分支一样简单。如果不是这种情况,您将需要:

git rebase --onto feature B
Run Code Online (Sandbox Code Playgroud)

区别在于 ifB不包含在 中feature,rebase 命令将不知道在重播之前回退多远。

一般来说,意味着“重播之后git rebase --onto X Y的所有提交”。是首先找到和( )的共同祖先,然后重放之上之后的所有提交的简写。YXgit rebase XHEADXZ = git merge-base HEAD XZX

文档: https: //git-scm.com/docs/git-rebase