384

私が取り組んでいる 2 つの (プライベート) 機能ブランチがあります。

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

これらのブランチで少し作業した後、Branch1 の Branch2 からの変更が必要であることを発見しました。Branch2 の変更を Branch1 にリベースしたいと思います。以下で締めくくりたいと思います。

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

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

このコマンドで目的の結果が得られるか?

(Branch1)$ git rebase --onto Branch1 Branch2
4

4 に答える 4

434
  1. Branch2 に切り替える

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

    git rebase Branch1
    

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

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

Branch1 を削除できます。

于 2013-02-15T11:19:58.163 に答える