2

したがって、マスターと、マスターで最新のブランチ X と、さらにいくつかのコミットがあります。

master をリベースし、履歴を変更しました - いくつかのコミットを押しつぶし、他のものを書き直しました。

次に、ブランチ X をマスターでリベースしようとします - ブランチ X にリワードが反映されていないようです - それらはまだ古いコミット メッセージです - マスターと一致するようにブランチ X のコミット履歴を更新するにはどうすればよいですか?

(ちなみに、スカッシュとフィックスアップのリベースはうまくいったようです。それは単なる言い回しのようです)。

4

1 に答える 1

1

master をリベースすると、branch-X は master で最新ではなくなります。これを理解する最も簡単な方法は、git cherry-pick を使用することだと思います。

  1. マスターから新しいブランチを作成し、git checkout -b branch-Y master
  2. git cherry-pick <sha>branch-X から必要なコミットごとに
  3. branch-X を削除し、branch-Y の名前を branch-X に変更できますgit branch -f branch-X branch-Y; git checkout branch-X; git branch -D branch-Y

また、リベースを広く使用する前に、リベースについてもっと読むことをお勧めします: Git リベースまたはマージ

于 2012-11-29T13:40:39.137 に答える