はじめに

Git とは

Git はファイルの変更履歴を記録・管理する「バージョン管理システム」。なぜ必要なのか、基本的な仕組みを解説します

Git とは diagram

Git はバージョン管理システム

Git(ギット)は、ファイルの変更履歴を記録・管理するためのツールです。

「バージョン管理システム(VCS: Version Control System)」と呼ばれるソフトウェアの一種で、世界中の開発現場で最も広く使われています。

バージョン管理を使わない場合、ファイルのバックアップは「レポート_最終版.docx」「レポート_最終版2.docx」のように手動コピーに頼ることになります。

Git を使えば、コミットするたびに「いつ・誰が・何を変えたか」が記録され、いつでも過去の状態に戻すことができます。

Git を使うメリット

  • 変更履歴の記録

    すべての変更が「コミット」という単位で記録されます。いつでも過去の状態を確認したり、戻したりできます。

  • チーム開発の効率化

    複数人が同時に同じプロジェクトで作業できます。各自の変更を安全に統合(マージ)する仕組みがあります。

  • ブランチによる並行作業

    「ブランチ」を使うことで、新機能の開発やバグ修正を本番コードに影響を与えずに進められます。

  • バックアップと復元

    リモートリポジトリ(GitHub 等)に保存しておけば、PC が壊れてもコードを失いません。間違えた変更も簡単に元に戻せます。

Git と GitHub の違い

初心者が混同しやすいポイントですが、Git と GitHub は別物です。

  • Git はバージョン管理のソフトウェア(ツール)。自分の PC にインストールして使います。

  • GitHub は Git リポジトリをインターネット上でホスティングするサービス。コードの共有、レビュー(Pull Request)、Issue 管理などの機能を提供します。

Git は GitHub がなくても使えますし、GitHub 以外にも GitLab や Bitbucket などの類似サービスがあります。

実際の開発では Git とこれらのホスティングサービスのいずれかを組み合わせて使うのが一般的です。

コード以外の管理にも活用できる

Git はプログラムのソースコードに限らず、あらゆるファイルをバージョン管理できます。

バイナリファイル(画像や Excel など)も管理自体は可能ですが、Git の強力な機能である行単位の差分比較やマージはテキストファイルでこそ真価を発揮します。

  • ドキュメント・マニュアル(Markdown、テキストファイル)
  • 設計書・仕様書
  • 設定ファイル(インフラ構成、CI/CD パイプライン)
  • データ分析スクリプト(SQL、Python ノートブック)

Git が特に威力を発揮するのは、複数人で同じファイルを編集する場面や、変更の経緯を後から追跡したい場面です。

詳しくは Git をコード以外で活用するユースケース をご覧ください。

Git は「分散型」バージョン管理

Git の大きな特徴は「分散型」であることです。

  • 集中型(SVN 等): サーバーに1つだけリポジトリがあり、全員がそこに接続して作業する。ネットワークがないと履歴を確認できない。

  • 分散型(Git): 開発者それぞれの PC にリポジトリの完全なコピーがある。オフラインでもコミットや履歴の確認ができる。

この仕組みのおかげで、Git はネットワーク障害やサーバーダウンに強く、高速に動作します。

関連コマンド