Git 将旧提交移动到新的单独分支(推送到远程)
我是Git新手,希望得到一些帮助。此问题与类似,但该问题询问最近的提交。这不是我需要的。让我进一步解释 我有一个分支,我们称之为Feature1分支。Feature1的父级是主分支,Feature1具有以下提交:Git 将旧提交移动到新的单独分支(推送到远程),git,github,version-control,git-branch,rebase,Git,Github,Version Control,Git Branch,Rebase,我是Git新手,希望得到一些帮助。此问题与类似,但该问题询问最近的提交。这不是我需要的。让我进一步解释 我有一个分支,我们称之为Feature1分支。Feature1的父级是主分支,Feature1具有以下提交: A B C D E F 但是,A和B提交实际上并不属于该特定分支,而是应该位于作为Feature1分支的子分支的另一个分支中。让我们把A和B所属的这个假定分支称为Feature2分支。同样,此分支必须来自Feature1分支,而不是来自master分支 此功能2分支尚未创建。但是,
- A
- B
- C
- D
- E
- F
m--m (master)
\
a--b--c--d--e--f (feature1)
由于feature1已经推出,因此重新调整其基础以重写其历史是有风险的
然后,为了使功能1不显示这些更改,您可以:
git checkout feature1
git revert a^..b
m--m (master)
\
a--b--c--d--e--f--g (feature1)
然后可以从feature1创建feature2分支,并在其上执行以下操作:
非常感谢你的帮助。真的很感激!!
git checkout -b feature2
git cherry-pick a^..b
m--m (master)
\
a--b--c--d--e--f--g (feature1)
\
a'--b' (feature2)