58

私は、マスターから2番目の機能ブランチを作成するのではなく、別の機能ブランチから1つの機能ブランチを誤って作成した同僚を支援しようとしています。これが基本的に私たちが今持っているものです…</p>

Master ---A---B---C
                   \
              Foo   E---F---F---H
                                 \
                            Bar   J---K---L---M

そして、これが私たちが望んでいるものです…</ p>

Master ---A---B---C
                  |\
             Foo  | E---F---F---H
                  |
             Bar  J---K---L---M

私が考えた1つの方法は、FooV2ブランチとBarV2ブランチを作成し、個々のコミットを適切なV2ブランチにチェリーピックすることです。しかし、私は興味があります、この状況を処理するためのより良い方法はありますか?

4

3 に答える 3

19

あなたができるように私には見えます:

git checkout J
git rebase master

編集:

私が提案したことを試してみましたが、うまくいきません。Knittl の提案は機能しません (私のボックスでは)。これが私にとってうまくいったことです:

git rebase --onto master foo bar
于 2012-09-10T16:38:22.160 に答える
7

Barブランチをマスターにリベースできます。

git rebase --onto C H M

一部のパッチが競合する場合は、手動で解決する必要があります(ただし、チェリーピッキング時にも解決する必要があります)。注意:履歴がすでに公開されている場合は、リベースしないでください。

于 2012-09-10T16:37:27.457 に答える