嫁接从一个分支变为另一个分支

时间:2018-11-18 03:03:48

标签: git

我从母版下创建了一个分支a,然后从b上创建了一个a,后来又合并回了a

a
|\
| b
| b
| / 
a
m
m

我还不准备将a合并到master中,但是想合并b(对a进行任何更改)。最好的方法是什么?理想的是,手术后我会有一棵这样的树

a
a
|\
| b
| b
| / 
m
m

有了Hg,我只会移植更改,但是有人告诉我,这对git不满意。

1 个答案:

答案 0 :(得分:2)

您可以从以下位置重播master上的b:

       a--A--...----B--a--a
      /    \       /
     /      b--b--b  (b branch)
    /             
m--m--m--m

收件人,git rebase --onto master A b

       a--A--...----B--a--a
      /    \       /
     /      b--b--b 
    /             
m--m--m--m--b'--b'--b' (b branch)

({A是创建b分支的提交)

唯一的问题是稍后将a合并回master:如果a位于B'(即“ {{ 1}} + master“),然后放下b branch(如果a中的B,则是第一次合并提交),以便在{{{1 }} + b)。那么amaster的合并将是微不足道的。