Git 入門④
git merge
git merge
で複数のブランチを一つにまとめることができます。
前回↓も少し使ってみました。 utouto97.hatenablog.com
Fast-forward
前回のマージは以下のパターンになります。
この場合だと、master
ブランチをdoc
ブランチのところまで進めるだけになります。
特に編集も必要ないです。
Fast-forwardではないマージ
以下のような場合、Fast-forwardとはなりません。
この場合は、master
ブランチとdoc
ブランチがそれぞれ別の変更が加わり、別々のコミットを指しています。
この場合だと、一方のブランチを進めることでもう一方のブランチと同じコミットを指すようにはできません。
そのため、Fast-forwardではなく、マージすることになります。
一つにまとめるコミットを作って、それぞれの変更を反映させます。
こうすることで、doc
ブランチとmaster
ブランチを一つにまとめることができました。
コンフリクト
マージして一つにまとめる際に、二つのブランチで同じファイルに変更を加えていなければそのままマージできます。
しかし、二つのブランチで同じファイルに対して異なる変更を加えていた場合、コンフリクトが発生します。
コンフリクトを解消しなければ、マージすることはできません。
コンフリクトは、同じファイルに対して、異なるブランチで変更を加えているため起こっています。
そのため、そのファイルに加える変更を決めてあげれば、コンフリクトは解消できます。
そのファイルを編集して、変更を決定します。
コンフリクトを解消すればマージできます。