Gitのブランチをマージする手順についてまとめました【Git】

Linux

クライアントソフトでGitを使っていますが、コマンドでも操作できるようになりたいので一連の操作をメモしておきます。

作業する時、まずブランチを作成&切り替えます。最終的には作業したブランチを元のブランチにマージします。

ブランチに関するコマンド

作業に入る前に、ブランチに関してのコマンドをまとめておきます。

▼ブランチの一覧を表示

$ git branch [-a]

※オプション[-a]は、リモートのブランチも表示します。

▼ブランチの作成

$ git branch <branchname>

▼ブランチを切り替える

$ git checkout <branch-name>

▼ブランチを作成&切り替える

$ git checkout -b <branchname>

▼ブランチ名の変更

$ git branch -m <branchname_old> <branchname_new>

▼ブランチの削除

$ git branch -d <branchname>

ブランチをマージする手順

ブランチをマージするまでの手順をメモ。今回、ローカルでのコミットになります。流れとしては次のようになります。

  • developブランチに移動
  • feature/add-btnブランチを作成&移動
  • feature/add-btnブランチでファイルを変更してコミット
  • devlopブランチに移動
  • feature/add-btnブランチをdevlopブランチにマージ

図にするとこんな感じです。

最終的に「HEAD」の位置に移動する

今回、修正するのはこのファイルです。
テキストの下にボタンを追加したいと思います。

sample.html

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>テストページ</title>
</head>
<body>
    <section>
        <h1>タイトル</h1>
        <p>テキストテキストテキストテキストテキストテキスト</p>
    </section>
    
</body>
</html>

developブランチに切り替える

まず、現在のブランチの状態を確認します。
「main」と「develop」ブランチが存在しています。現在、ポインタはmainブランチを指しています。

developブランチに切り替えます。

feature/add-btnブランチを作成する

feature/add-btnブランチを作成して切り替えます。

ファイルを修正してコミットする

sample.htmlに<button>タグを追加してコミットします。

sample.html

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>テストページ</title>
</head>
<body>
    <section>
        <h1>タイトル</h1>
        <p>テキストテキストテキストテキストテキストテキスト</p>
        <button>ボタン</button> //追加
    </section>
    
</body>
</html>

コミットの手順はこのようになります。コミットメッセージは「add btn」にしました。

ログを確認する

まず、現在の状況(ログ)を確認します。
確認するには次のコマンドを使います。

$ git log --oneline

現在、ポインタ(HEAD)は先ほどコミットした「add btn」を指しています。
コミット「add btn」では、sample.htmlの一部を変更しましたが、developブランチのsample.htmlは変更が反映されていません。ファイルの修正や実装が完了したらdevelopブランチに変更箇所を統合します。

この変更箇所を統合することをマージといいます。

差分を確認する

マージする前に、変更箇所を確認します。

$ git diff <ベースのブランチ> <比較するブランチ>

今回の場合、ベースとなるブランチは「develop」、比較するブランチは「feature/add-btn」です。

変更されたファイルがsample.html、ボタンタグが追加されていることが確認できました。

developブランチに切り替える

変更が確認できたらマージします。
作業としては、変更を取り込みたいブランチに切り替えた状態で、マージするブランチ名を指定します。

今回、feature/add-btnブランチをdevelopブランチにマージするので、developブランチに切り替えます。

developブランチに切り替わりました。

マージする

マージするには次のコマンドを使います。

$ git merge <取り込みたいブランチ>

取り込むブランチはfeature/add-btnブランを指定します。

これでブランチがマージされました!

使用しないブランチを削除する

最後に、ボタンを追加するために作成したfeature/add-btnブランチですが、今後使用する予定がないようでしたら削除します。

$ git branch -d feature/add-btn

これでブランチの切り替えからコミットまで、一連の流れが完了しました。