2014-03-06 50 views
0

我有以下三种:的Git:如何修改提交多个分支共享

branch1    G---H---I 
        / 
master  A---B---C---D---E---F 
          \ 
branch2     M---N---O 

我需要做出一些B.修改有没有什么简单的方法来传播修改各分支机构( master,branch1和branch2)?

+1

你为什么要改变历史? –

回答

3

做到这一点,最安全的方式是:

  1. 的B

    git checkout -b BPRIME SHA_OF_B

  2. 创建一个新的分支进行一些更改,并提交他们。你图的样子:

    BPRIME    B' 
           / 
    branch1   / G---H---I 
           // 
    master  A---B---C---D---E---F 
              \ 
    branch2     M---N---O 
    
  3. 然后挑樱桃从BPRIME将提交到每个分支。

    $ git checkout branch1 && git cherry-pick B' 
    $ git checkout master && git cherry-pick B' 
    $ git checkout branch2 && git cherry-pick B' 
    

这是最安全的选择,因为你不改变历史。

+1

谢谢!这解决了。 – ivanmilara

0

在主分支中进行新的提交,然后使用主设备重新绑定其他分支。

+0

我需要分别继续与分支机构合作。所以,如果我正确地理解了你,这不是我所需要的。 – ivanmilara

+0

在与主人合作后,您仍然可以在所有分行继续单独工作 – Konst

+0

您是对的,但我想保留历史原样。 – ivanmilara