Git とは
Git はファイルの変更履歴を記録・管理する「バージョン管理システム」。なぜ必要なのか、基本的な仕組みを解説します
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 はネットワーク障害やサーバーダウンに強く、高速に動作します。
Git Ready