2016-02-29 94 views
1

我有一个回购协议,看起来有点像这样:保留正确的祖先在混帐与子分支衍合

*-*-*-*-master 
    \-*-*-*-feature1 
      \-*-*-feature1-experiment 

feature1-experiment包含建立在什么已经建成feature1顶部的实验性功能,也可能是只是解决问题的另一种方法。 feature1feature1-experiment都是本地分支机构。

现在,我的其他人已将更改推送到master,我将分配feature1以获取这些更改。现在feature1-experiment是“不同步”,因为在重新绑定后重新应用feature1中的提交,使其指向旧的提交。

在我的头上,这是它的样子:

*-*-*-*-master 
    | \-*-*-*-rebased_feature1 
    | 
    \-*-*-*-old_feature1 
      \-*-*feature1-experiment 

而我想要的是更接近:

*-*-*-*-master 
     \-*-*-*-rebased_feature1 
       \-rebased_feature1-experiment 

有没有办法让这个当我变基一分支,由它创建的所有分支都会得到与它们相同的操作?如果不是,手动做到这一点的最好方法是什么?

+0

的浓缩的方式你试过在rebased_feature1基础重建feature1_experinent?只是一个想法,我希望它不起作用,但git之前让我感到吃惊。 – rubenvb

回答

0

您将需要手动执行此操作。您也可以考虑将feature1实验纳入feature1。在流程和最终合并方面,长期生存的分支可能会很痛苦。

基础重建特征1后,运行

git rebase feature1 feature1-experiment 

上面的命令执行

git checkout feature1-experiment 
git rebase feature1