サイトアイコン ITC Media

【基本】git mergeでできること|コマンド例付きで解説

(最終更新月:2023年8月)

✔当記事は以下のような方向けです

「git マージについて理解したい」

「git マージの正確なやり方を知りたい」

「git マージの具体的な使い方を見たくてたまらない」

✔当記事で伝えられること

当記事では、git マージの基礎から、さらにそのオプションを用いた高度なテクニックまでを一貫して、具体的な例を交えながら詳しく解説します。

ぜひ最後までお読みください。

筆者プロフィール

【現職】プロダクトマネージャー

【副業】ブログ(月間20万PV)/YouTube/Web・アプリ制作

「プログラミング × ライティング × 営業」の経験を活かし、30後半からのIT系職へシフト。現在はプロダクトマネージャーとして、さまざまな関係者の間に入り奮闘してます。当サイトでは、実際に手を動かせるWebアプリの開発を通じて、プログラミングはもちろん、IT職に必要な情報を提供していきます。

【当ブログで紹介しているサイト】

当サイトチュートリアルで作成したデモ版日報アプリ

Django × Reactで開発したツール系Webアプリ

✔人に見せても恥ずかしくないコードを書こう

「リーダブルコード」は、わかりやすく良いコードの定義を教えてくれる本です。

  • 見るからにきれいなコードの書き方
  • コードの分割方法
  • 変数や関数の命名規則

エンジニアのスタンダートとすべき基準を一から解説しています。

何回も読むのに値する本なので、ぜひ手にとって読んでみてください。

gitとブランチの基本理解

こちらでは、「gitとブランチの基本理解」についてお伝えします。

gitについて

gitは、分散型のバージョン管理システムで、多くの開発者が一緒に作業するための強力なツールです。

gitを使うと、コードの変更履歴を追跡し、必要に応じて以前の状態に戻せます。

複数の開発者が同時に作業を進めることが可能になり、作業の衝突を最小限に抑えられるものです。

ブランチの役割と使い方

gitの「ブランチ」機能は、開発作業を分岐させ、それぞれのブランチで作業を進められます。

ブランチとは、「枝」。

開発のための作業台を自由に作れるイメージです。

新機能の開発やバグ修正をおこなうブランチを、メインのブランチから分岐させ、作業が完了したらメインのブランチに統合(マージ)します。

これにより作業内容を整理し、エラーの影響を局所化できるのです。

マージを理解する – gitの鍵となるブランチ操作

こちらでは、「マージとはなにか」についてお伝えします。

マージを理解して、Gitのブランチなどの機能を使いこなしましょう。

「マージ」の基本

gitの「マージ」は、2つのブランチを統合する重要な操作です。

マージにより、分岐した作業を元のブランチに戻せます。

マージは通常以下などの種類があります。

「マージ」の実演 – ハンズオン

以下に、ブランチのマージの手順を実演します。

  1. マージしたいブランチに切り替える:git checkout <マージ先ブランチ名>
  2. マージの開始:git merge <マージ元ブランチ名>

マージに成功すると、「Fast-forward」や「Merge made」などのメッセージが表示されます。

ブランチを安全に運用するための基礎知識

こちらでは、「ブランチを安全に運用するための基礎知識」についてお伝えします。

リモートリポジトリの役割と活用法

リモートリポジトリは、チームで共有するためのリポジトリです。

ローカルリポジトリでおこなわれた変更をリモートリポジトリにプッシュすることで、チームメンバー全員がその変更を利用できます。

git push origin master

ローカルリポジトリのmasterブランチの内容がoriginという名前のリモートリポジトリに反映されます。

タグの設定方法と活用法

タグは、特定のコミットを指し示すラベルのこと。

主に、リリースバージョンを示すために使用されます。

タグを設定するには、git tag <タグ名>コマンドを使用します。

git tag v1.0.0

現在のコミットに対してv1.0.0というタグが付きます。

タグをリモートリポジトリに反映するには、以下のコマンドを使用します。

git push origin <タグ名>

コミットの使い方 – 効果的なコミットの書き換え

こちらでは、コミットの使い方として、効果的なコミットの書き換え方法についてお伝えします。

コミットの基本とその重要性

コミットは、作業の変更を記録するための操作です。

各コミットは、一意のID(ハッシュ)を持ち、それによって特定の作業状態を指し示せます。

#コミットIDを取得する一例です。

$ git log
commit c6bfdb597d9575154e75aea1c7939a288fd536a2 (HEAD -> feature2)
Author: xxxx <xxx@itc.tokyo>
Date:   Wed Aug 9 07:36:29 2023 +0900

# commitのあとに書かれているのがコミットID

コミットをおこなうには、以下のコマンドです。

git commit -m "コミットメッセージ"

これにより、作業の変更を記録し、後からその時点の状態に戻せます。

コミットの書き換え方法

コミットは一度作成すると書き換えることができませんが、直前のコミットメッセージを変更することは可能です。

git commit --amend -m "新しいコミットメッセージ"

ただしこの操作はローカルリポジトリでの作業時に限られ、一度リモートリポジトリにプッシュしたコミットを書き換えることは推奨されません。

マージ時の問題への対処法

こちらでは、マージ時の問題への対処法について詳しく説明します。

問題とその対処法を理解することで、問題が生じた場合に適切に対応できるようになります。

マージコンフリクトの原因と予防策

マージコンフリクトは、同じ行に対する異なる変更が2つのブランチで行われた場合に発生します。

これを予防するためには、頻繁にプルとマージをおこなうことが有効です。

例えば作業前に git pull origin master を実行することで、最新の状態を取得し、他のメンバーによる変更を自分のブランチに反映できます。

コンフリクトが起きたときの解決法

コンフリクトが発生した場合、Gitはコンフリクトが発生した場所を示すメッセージを出力します。

このメッセージを元に手動で修正することでコンフリクトを解消できるでしょう。

修正が完了したら、以下を実行し、修正をコミットします。

git add <ファイル名>
git commit -m "コンフリクトの解消などのコメント"

【応用】gitのさらなる活用

こちらでは、gitのさらなる活用方法について詳しく説明します。

こちらを理解することで、より高度な作業をおこなえるでしょう。

Gitサーバーと分散作業

Gitは分散型のバージョン管理システムであり、リモートリポジトリを活用することで、分散しての作業が可能です。

git clone <リポジトリURL>

リモートリポジトリをローカルに複製し、自分の作業環境を作ることができます。

Gitとその他のシステムの連携

Gitは他のシステムとの連携も可能で、これにより作業効率を向上させられます。

例えば、コミットメッセージに特定の書式を使うことで、issueトラッキングシステムやCI/CDツールと連携させることが可能です。

Gitで間違えた操作をしたとき

Gitで間違えた操作をしたときも、修正の方法が存在します。

場面に合わせて適切な方法で修正すれば、ミスを恐れずにいろいろと試せるはず。

現場で使える!gitのツールとカスタマイズ法

こちらでは、「gitのツールとカスタマイズ法」について詳しく説明します。

より効率的な作業や、自身の作業スタイルに合った環境設定が可能になるはずです。

おすすめのGitツールとその活用法

複数のGitツールが存在し、それぞれに特徴と利点があります。

これらのツールを活用することで、Gitの操作を更にスムーズに行うことが可能です。

Gitのカスタマイズとそのメリット

Gitは高度にカスタマイズ可能で、それにより個々の作業スタイルに合わせた設定が可能です。

例えば、git config コマンドを使うことで、多岐にわたるカスタマイズが可能。

これにより、自分だけの作業環境を作り上げ、作業の効率を向上させられるでしょう。

まとめ:git マージ力を磨き上げ、開発作業をスムーズに

当記事では、gitの基本的な使い方からブランチとマージについて学習してきました。

これらの知識を生かし、日々の開発作業をスムーズに進めていきましょう。

また、さらなるスキルアップのためには、実際に手を動かして練習することが重要です。

ぜひ以下のページから、お好きな記事をみつけ、サンプルコマンドを使いながら学習してみてください。

Gitの基本まとめ|初心者でも必ずマスターできる
Git/GitHubについて学びたいですか?当サイトでは、現役エンジニアが実体験を元にGitのポイントを丁寧に解説。実際のコマンドなど手を動かしながら学べるので、Git初心者必見です。
モバイルバージョンを終了