1

私のgitリポジトリには、次の(簡略化された)シナリオがあります。

A-B-C-F
     \
      D-E

コミット F は C の修正であり、これは単一のコミットになる必要があります。を使用して「メイン」ブランチでインタラクティブなリベースを試みましたgit rebase -i HEAD~2が、結果は次のようになりました。

A-B-CF
   \
    C-D-E

一方、私はそれをこれにしたい:

A-B-CF
      \
       D-E

これを達成する方法を知っている人はいますか?まだ何も押していません。

4

2 に答える 2

0

これが私が最終的に得たものです。初期シナリオ:

A-B-C-F (develop)
     \
      D-E (feature)

で開発するインタラクティブなリベースgit checkout develop; git rebase -i HEAD~2、F を C に押しつぶす:

A-B-CF (develop)
   \
    C-D-E (feature)

を使用した機能のインタラクティブなリベースgit checkout feature; git rebase -i HEAD~3、C の削除:

A-B-CF (develop)
   \
    D-E (feature)

そして最後に、機能ブランチの通常のリベース を使用してgit rebase CF-hash、ブランチの開始を移動します。

A-B-CF (develop)
      \
       D-E (feature)

これが最善の方法かどうかはわかりませんが、私にとってはうまくいくようです。

于 2013-04-09T16:36:24.937 に答える