メインコンテンツまでスキップ

ブランチを1本に書き戻そう

ブランチとブランチの合成「マージ」のやり方。

ブランチでの作業が完了するということはイコール、「分岐元のブランチに枝が戻っていく」ことを意味します。

Git Graph で見ると分かりやすいです。以下のような絵になります。

このようなブランチとブランチの合成を、「マージ」と言います。

ブランチの合成

まず元のブランチをチェックアウトする

マージは、元のブランチ(今回の例ではmainブランチ)をチェックアウトするところから始まります。

「チェックアウトしたブランチにどのブランチをマージしようかな?」

と、操作の基軸はチェックアウトしたブランチになります。

ブランチをマージ

Git Graph上でブランチ名を右クリックして、「Merge into current branch」をクリックします。

ブランチの合成

本当にマージするか?と聞かれるので、そのまま進みます。

ブランチの合成

マージが出来ました

ブランチの合成

分岐元以外のブランチにマージしない

基本的に、mainから派生したブランチはmainに還る、というように、分岐元以外のブランチにマージすることはしません。

lesson5 で出てくる GitFlowでは分岐元以外のブランチにマージすることがありますが、これには明確なルールがあり、しかも操作は自動です。

ルールなく、自由に分岐元以外のブランチにマージすることは、可読性が下がってしまいますので、必ず避けましょう。

分岐元ブランチにマージするタイミング

「切りの良いところでマージする」というと聞こえが良いですが、実際にやってみると、想定していたより思いの外作業範囲が大きく、ブランチが延び続け、なかなか元のブランチにマージ出来ない。というシーンに出会います。

そういう時の「切りの良いところ」の定義は、「ビルドがエラーなく通る」「スタイルがとりあえず壊れていない」として、一度元のブランチにマージして、ブランチを切りなおすことをしてみましょう。

ブランチが長くなりすぎると、可読性が下がるのと、他のブランチと作業範囲が被ってしまう「衝突」が起こりやすくなってしまいます。

マージしたらブランチを削除

マージしたブランチは、一旦削除してもう一度元のブランチから生やしなおしましょう。

同じ名前でも構いません。

コードの同期を意味しますので、元のブランチの最新コミットから生やしなおすことが肝心です。