0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

GitHubでのマージの種類

Posted at

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

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?