0
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

GitHubでのマージの種類

GitHubのマージに関して、簡単にまとめてみました。

Auto Merge

このAuto Mergeが最も一般的なマージ方法となります。
これは別々のブランチでそれぞれが開発している時に、別ブランチの変更内容を自分のブランチに取り込むマージとなります。

スクリーンショット 2021-05-11 23.14.23.png

上の図は、AのコミットからBとB'のコミットに分岐してそれぞれが開発していると想定しています。
ここでmasterブランチの変更内容を取り込む場合、「git merge master」コマンドにて、新しくCコミットが作成されます。
このCコミットは、Bコミットの内容をベースにして、B'コミットの内容を取り込んでいることになります。
特徴として、CコミットはBコミットとB'コミットの2つを親ファイルとして持っていることです。

Fast Foward merge

これは先ほどと違って分岐していない時のマージとなります。
スクリーンショット 2021-05-11 23.21.17.png
元々開発をしていたAコミットに、新しくBコミットをマージして、変更内容が統合される形です。
するとAコミットを指していたmasterブランチはBコミットを指すようになります。

conflict merge

conflictは衝突するという意味です。
スクリーンショット 2021-05-11 23.29.59.png
別々のコミットで、同箇所を変更や追記してマージ場合に、Git側はどっちの方を正と判断すれば良いか分かりません。
このコンフリクトが発生した際は、該当のファイルを開いて正しい記述に修正する必要があります。

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
0
Help us understand the problem. What are the problem?