機能ブランチを別の機能ブランチにリベースする 質問する

機能ブランチを別の機能ブランチにリベースする 質問する

私が作業している (プライベートな) 機能ブランチが 2 つあります。

a -- b -- c                  <-- Master
     \     \
      \     d -- e           <-- Branch1
       \
        f -- g               <-- Branch2

これらのブランチでしばらく作業した後、Branch2 の変更を Branch1 に反映させる必要があることがわかりました。Branch2 の変更を Branch1 にリベースしたいと思います。最終的には次のようになります。

a -- b -- c                  <-- Master
           \
            d -- e -- f -- g <-- Branch1

2 番目のブランチを最初のブランチにリベースする必要があることはほぼ確実ですが、正しい構文と、どのブランチをチェックアウトする必要があるかがよくわかりません。

このコマンドは目的の結果を生み出しますか?

(Branch1)$ git rebase --onto Branch1 Branch2

ベストアンサー1

  1. ブランチ2に切り替える

    git checkout Branch2
    
  2. 現在の (Branch2) の変更を Branch2 に残したまま、Branch1 の変更の上に適用します。

    git rebase Branch1
    

これにより、Branch2 で目的の結果が得られます。

a -- b -- c                      <-- Master
           \
            d -- e               <-- Branch1
           \
            d -- e -- f' -- g'   <-- Branch2

Branch1 を削除できます。

おすすめ記事