2016-07-29 142 views
1

我们有开发分支,从中出现功能分支。一些功能足够大,它们成为主题分支。然后这些主题分支有更多的子分支被合并到主题分支中,并且在所有主题完成之后,然后它被合并到开发中。如何将主题分支的功能分支重定位到开发分支?

现在,我开始从主题分支的功能分支,但我应该从开发开始。我怎样才能改变这个?

development 
A--B--C--D--E--F--G 
     \ 
topic T1----------T2--T3--T4--T5 
     \  /  \ 
      U1--U2--U3   W1--W2--W3 
     sub-feature U   feature W` 

功能W应该从开发分支开始。

有没有一种方法可以将W1,W2和W3提交到开发分支而不需要触及主题分支T?

我知道我可以签出开发分支和樱桃选择每个提交,但这会创建一个新的元数据提交。我想保留提交创建日期,也许作者!

回答

3

,您可以拨打rebase --onto

git rebase --committer-date-is-author-date --onto dev T4 W` 

这将重播任何承诺T4,直至并包括W HEAD,到dev分支。

     W1'--W2'--W3' (W) 
        /
A--B--C--D--E--F--G (dev) 
     \ 
topic T1----------T2--T3--T4--T5 
     \  /  
      U1--U2--U3   
     sub-feature U   

请参阅“git rebase without changing commit timestamps”,作为一种解决方法,以保持一个合理的提交日期。
但是任何rebase都会改变元数据。

+0

工作就像一个魅力。解决冲突并继续工作。谢谢。 – arenaq

相关问题