1

私が持っているもの(左がマスターで、右が機能ブランチであると仮定):

   | * part of feature 2 (HEAD)
   | |
 B * |
   | * bug fix (unrelated to feature)
   | |
   | * part of feature 1
   |/
 A *
   |

したがって、ここでの明らかな問題は、(機能に関係のない)バグ修正が機能ブランチにコミットされたことです。このバグ修正が重要であり、機能ブランチをマージして戻す前にマスターに適用する必要があると仮定しますが、機能ブランチもその恩恵を受けるはずです。

したがって、機能ブランチからコミットを選択し、それをマスターに(適切な場所で)適用してから、機能ブランチの開始点をそのコミットの後に変更したいと思います。

gitトポロジで私が欲しい と思うもの:

          | * part of feature 2 (HEAD)
        B * |
          | * part of feature 1
          |/
 bug fix  *
          |
        A *
          |

コマンドラインでgitの観点からこれを行うにはどうすればよいですか?

4

1 に答える 1

2

私は...するだろう :

  • マスター ブランチのチェリー ピックのバグ修正
  • master ブランチで rebase -i を実行して、バグ修正コミットを必要な場所 (A と B の間) に配置します。
  • 機能ブランチをバグ修正コミットにリベースします ("onto" は重要であり、引数に含める必要があります。これは、A からのコミットのみをバグ修正に基づいてリベースする必要があるためです)

すべてのコマンドは標準の git であるため、少し調べればうまくいくはずです。

于 2012-12-20T17:24:56.997 に答える