将特征分支转移到另一个特征分支上

我有两个(私人)function分支,我正在工作。

a -- b -- c <-- Master \ \ \ d -- e <-- Branch1 \ f -- g <-- Branch2 

有一段时间,在这些分支上工作后,我发现我需要Branch1中Branch2的更改。 我想将分支2中的更改分支到分支1上。 我想结束以下几点:

 a -- b -- c <-- Master \ d -- e -- f -- g <-- Branch1 

我很确定我需要将第二个分支重新绑定第一个分支,但是我不完全确定正确的语法以及我应该检出哪个分支。

这个命令会产生想要的结果吗?

 (Branch1)$ git rebase --onto Branch1 Branch2 

切换到分支Branch2

git checkout Branch2

然后用branch1做一个rebase

git rebase Branch1

这会让你在Branch2中得到所需的结果

 a -- b -- c <-- Master \ d -- e -- f -- g <-- Branch2 

您可以删除Branch1

注意:如果你在Branch1 ,你将使用Git 2.0(Q2 2014)能够input:

 git checkout Branch2 git rebase - 

见Brian Gesiak modocache 提交 modocache

rebase :允许“ - ”短暂的前一个分支

教学和checkout一样简化,并merge命名分支来重新分配当前分支; 也就是说,“ - ”意思是“我们以前的分支”。