git

【Git】リベース対マージ

dyoshimitsu

d.yoshimitsu

Posted on March 26, 2020

【Git】リベース対マージ

リベースとマージどちらを選択するべきか

一連のコミットをブランチの先頭へリベースすることは、2つのブランチをマージするのに似ています。
どちらの場合も、ブランチの先頭は両方のブランチの内容を結合したものになります。

「このコミットでは、マージとリベースどちらを使うべきだろう」と自問したくなるかもしれません。
これは重要な問いかけです。複数の開発者、リポジトリ、ブランチが対象となる場合は特に重要です。

リペースしたいブランチ上のコミットをすでに公開し、あるいは提供しているなら、他者への悪影響を考慮すべきです。
リベースは適さないものの、そのブランチの変更が必要なら、マージが正しい選択です。

覚えておくべき重要な概念

  • リベースは既存のコミットを書き換えて、新しいコミットを作ります。
  • 到達不可能になった古いコミットは消去されます。
  • リベース前の古いコミットのユーザーは取り残されてしまいます。
  • リベース前のコミットを使っているブランチがあるなら、それも同様にリベースする必要があるかもしれません。
  • 異なるリポジトリにリベース前コミットのユーザーがいる場合、あなたのリポジトリはすでに移動済みだとしても、そのリポジトリにはコミットのコピーが残ったままです。このため、彼らも同様にコミット履歴を修正しなければならなくなるでしょう。
💖 💪 🙅 🚩
dyoshimitsu
d.yoshimitsu

Posted on March 26, 2020

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related