9

git リポジトリのリモート ブランチに基づくローカル トピック ブランチがありました。

1 - 2 - 4 - 5 - 9 - 11  master
      \
        3 - 6 - 8 - 12  remote branch
              \
                7 - 10  my topic

リモート ブランチは最近、マスターからリベースされました。

1 - 2 - 4 - 5 - 9 - 11  master
                       \
            ?            3' - 6' - 8' - 12'  remote branch
              \
                7 - 10  my topic

最終的に変更をリモートにマージできるように、リモート ブランチの先頭からトピック ブランチをリベースしたいと考えています。ただ、親コミットのハッシュが変わってしまったので、簡単にやってみると

$ git rebase origin/remote_branch

私が触れたことのないファイルで多くの競合が発生します。

これらのブランチをクリーンアップするためにできることはありますか?

4

1 に答える 1

7

単純origin/remote_branchにリベースすると、git が混乱します。これは、remote_branch の先端で古いコミットをリベースしようとするためです。これにより、コミットの重複と競合が発生します。

--onto代わりに、オプションを使用して、6 つ目のポイントに関連する新しいポイントをコミットする必要があります。

git rebase --onto <6'-SHA> <6-SHA> my-topic

<6'-SHA><6-SHA>はそれぞれ、my-topic作成されたコミットの新しい ID と古い ID です。

于 2012-06-21T21:04:06.360 に答える