Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
0
Help us understand the problem. What are the problem?

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側はどっちの方を正と判断すれば良いか分かりません。
このコンフリクトが発生した際は、該当のファイルを開いて正しい記述に修正する必要があります。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
0
Help us understand the problem. What are the problem?