「git merge」と「git rebase」の違いは何ですか? 質問する

「git merge」と「git rebase」の違いは何ですか? 質問する

git mergeとの違いは何ですかgit rebase?

ベストアンサー1

元々AB、 の3 つのコミットがあったとしますC

ABC

次に、開発者 Dan が commit を作成しD、開発者 Ed が commit を作成しましたE

ABCDE

明らかに、この衝突は何らかの方法で解決する必要があります。これには 2 つの方法があります。

マージ:

ABCDEM

コミットDと は両方ともEまだ残っていますが、とMの両方の変更を継承するマージ コミットを作成します。ただし、これによりダイヤモンド形状が作成され、多くの人が非常に混乱することになります。DE

リベース:

ABCDER

コミットを作成しますR。実際のファイルの内容は上記のマージコミットと同じですM。ただし、コミットはE、存在しなかったかのように削除されます (ドット - 消失線で示されます)。この消去により、コミットEは開発者 Ed のローカルになり、他のリポジトリにプッシュされることはなくなります。リベースの利点は、ダイヤモンド形が回避され、履歴がきれいな直線のままになることです。ほとんどの開発者はこれを気に入っています。

おすすめ記事