1. ホーム
  2. ギット

[解決済み】「git merge」と「git rebase」の違いは何ですか?

2022-04-16 04:04:20

質問

とはどう違うのですか? git mergegit rebase ?

解決方法は?

元々3つのコミットがあったとします。 A , B , C :

そして、開発者のDanはコミットを作成しました。 D そして、開発者の Ed がコミット E :

当然ながら、この矛盾は何らかの形で解決されなければならない。これには、2つの方法があります。

マージ :

両コミット DE はまだ残っていますが、マージコミットを作成します。 M の両方から変更を継承する DE . しかし、これでは ダイヤモンド という形になっており、多くの人が非常に困惑しています。

リベース :

コミットを作成します。 R 実際のファイルの内容は、マージコミット M 上記の しかし、コミット E は、存在しなかったかのように(ドットで表示 - 消去線)。この抹消のため E は開発者Edのローカルにあるべきで、他のリポジトリにプッシュされたことはないはずです。リベースの利点は ダイヤモンド の形は避けられ、歴史はきれいな直線に保たれます。