お問い合わせ

【Git入門】Gitとは?リポジトリとブランチの考え方を初心者向けに図解

Gitの操作を覚える前に、まずは「Gitがどのような仕組みなのか」を理解しておくことが大切です。本記事では、Gitの基本的な考え方を、リポジトリやブランチといった重要な用語とともに図で分かりやすく解説します。

シリーズの全体像

このGit学習シリーズは、全部で4つの章に分かれています。

  1. 基礎編:Gitの考え方
  2. 基本操作編:毎日使う操作
  3. 実践・応用編:実務で使う操作
  4. コンフリクト編:競合への対応

この記事では、第1章の「基礎編」として、Gitを使ううえで土台となる考え方を学びます。

Gitとは?

Gitは「分散型バージョン管理システム」と呼ばれるものです。ひとことで表すと、ソースコードやファイルの変更履歴を管理する仕組みです。

名前だけではイメージしにくいため、まずはGitを使うと何ができるのかを確認していきましょう。

Gitでできること3選

Gitでできることは、大きく3つあります。

  1. ファイルの変更履歴を管理・追跡できる
    変更の歴史を保存し、過去の変更を確認したり、必要に応じて以前の状態に戻したりできます。
  2. ブランチを使って作業を並行し、あとで統合できる
    別々の作業を同時に進め、あとからひとつにまとめられます。
  3. チームで共同開発できる
    共有リポジトリを起点に、複数のメンバーで開発を進められます。

ここで出てきた「リポジトリ」と「ブランチ」については、後ほど詳しく説明します。まずは、Gitには変更履歴の管理、作業の分割と統合、共同開発を支える役割があると押さえておきましょう。

Gitの一番の特徴は「分散型」

Gitを理解するうえで特に大切なのが、「分散型」という考え方です。

バージョン管理システムにはGit以外にもいくつかの種類があります。ここでは、集中型の代表であるSVNと比べながら、分散型の仕組みを見ていきます。

集中型のSVNと分散型のGitの違い

SVNとGitは、どちらも共有するリポジトリを持ちます。両者の違いは、ローカル、つまり自分のPC側にあります。

集中型のSVNでは、中央のリポジトリを中心に作業します。変更履歴を記録するときも、中央のリポジトリへアクセスします。

一方、分散型のGitでは、各ユーザーのローカル環境にもリポジトリがあります。変更は、まず自分のローカルリポジトリに履歴として記録し、必要なタイミングでリモートリポジトリと同期します。

このように、一人ひとりが自分のリポジトリを持ち、それぞれ独立して作業を進められることが、Gitが「分散型」と呼ばれる理由です。

リポジトリとは?

リポジトリとは、日本語で「保管庫」を意味します。Gitを使った開発では、主に次の2つのリポジトリを意識します。

  • ローカルリポジトリ:自分のPCの中にあるリポジトリ
  • リモートリポジトリ:チームで共有するリポジトリ

リポジトリは、単なるファイル置き場ではありません。ファイルの内容だけでなく、その変更履歴も含めて管理する場所です。そのため、どのような変更が積み重なってきたのかを、あとからたどることができます。

「リポジトリは、ファイルを変更履歴ごと管理する場所」と覚えておきましょう。

ブランチとは?

ブランチとは、作業を分けるための仕組みです。

図では、ローカルに main という名前のブランチがあります。main ブランチは、多くの開発でチームの本流として使われるブランチです。

この main ブランチには、「コミット履歴①」という履歴があります。コミットについては次の章で詳しく扱うため、ここでは「変更履歴」のことだと考えてください。

main から作業ブランチを作る

新しい作業を始めるときは、main ブランチを起点にして、作業用のブランチを作ります。

作成直後の作業ブランチは、main ブランチと同じファイルの内容を持ち、それまでのコミット履歴もそのまま引き継いでいます。ここから先の変更は、作業ブランチ上で進めます。

なぜブランチを分けるのか

ブランチを分ける理由は、大きく3つあります。

  1. main への直接作業を避けられる
    本流となる main を安定した状態に保ちながら、別のブランチで作業できます。
  2. 別々の作業を並行して進められる
    複数のメンバーがそれぞれのブランチで作業したり、1人で複数の作業を分けて進めたりできます。
  3. 作業単位で変更を管理しやすい
    機能追加やバグ修正など、作業のまとまりごとに変更を整理できます。

ブランチを使うことで、作業を安全に分けながら開発を進めやすくなります。

作業するブランチを切り替える

ブランチを扱うときは、「今、どのブランチで作業しているのか」を意識する必要があります。

図では作業ブランチを作成していますが、現在の作業先はまだ main ブランチです。このまま作業すると、変更は main 側に記録されてしまいます。そのため、実際に作業を始める前に、作業先のブランチを切り替えます。

git switch でブランチを切り替える

作業するブランチを切り替えるときは、git switch コマンドを使います。

git switch を実行すると、作業対象が main ブランチから作業ブランチへ切り替わります。それ以降の変更は、作業ブランチ側で進めます。

git checkout も、ブランチの切り替えに使えるコマンドです。以前はこちらがよく使われていたため、古い記事や現場の手順で見かけることがあります。まずは、ブランチを切り替えるコマンドとして git switch を覚えておけば大丈夫です。

まとめ

この記事で学んだポイントは、次の3つです。

  1. Gitは分散型バージョン管理システム
    ローカルにもリポジトリを持つため、それぞれが独立して作業できます。
  2. リポジトリは変更履歴ごと管理する保管庫
    Gitを使った開発では、主にローカルリポジトリとリモートリポジトリを意識します。
  3. ブランチは作業を分けるための仕組み
    main を起点に作業ブランチを作り、git switch で切り替えて作業します。git checkout でもブランチを切り替えられます。

Gitの操作を学ぶときは、まず「変更履歴をリポジトリで管理し、ブランチで作業を分ける」という全体像を押さえておきましょう。