投稿

[GitHub 100日チャレンジ] Day 47 - 3-Way Merge

3-Way Mergeの仕組み、共通祖先、mainとfeatureの両方が進んだ場合のマージコミットを説明します。

[GitHub 100日チャレンジ] Day 47 - 3-Way Merge

3-Way Mergeとは

3-Way Mergeは、取り込み先と作業ブランチの両方に別々の変更があるときに使われるマージです。Gitは共通祖先、現在のブランチ、取り込むブランチの三つを見比べます。

イメージ

1
2
main:    A---B---C
feature:     \---D---E

この状態でmergeすると、変更を統合するためのマージコミットが作られることがあります。

実行例

1
2
git switch main
git merge feature/login

特徴

  • 複数の作業線を統合できる
  • マージコミットで統合点が残る
  • チーム開発ではよく起きる

今日のゴール

Fast-Forwardできない場合に、Gitが共通祖先を使って変更を統合することを理解しましょう。

この投稿は投稿者によって CC BY 4.0 の下でライセンスされています。