Git(ギット)とは|変更履歴を分散して管理するバージョン管理の仕組み
変更履歴を分散して管理する、オープンソースのバージョン管理システム
言葉の意味
Git(ギット)は、ファイルの変更を時間の経過とともに記録し、あとから特定の版を呼び出せるようにするソフトです。オープンソースの、分散型のバージョン管理システムです。
分散型というのは、履歴の置き場所が1か所ではない、という意味です。1台のサーバーに全部の版を置く中央集権型では、サーバーが1時間止まれば、その1時間は誰も作業の記録を残せません。ディスクが壊れて控えが無ければ、履歴そのものが消えます。分散型では、各自の複製がそれぞれ完全な控えなので、サーバーが失われても、どれか1つを送り返せば元に戻ります。
ほとんどの操作が手元のファイルだけで完結します。履歴が手元のディスクにあるため、履歴の閲覧も、1か月前のファイルとの差分の計算も、サーバーに問い合わせる必要がありません。記録の取り方もほかの仕組みと違い、ファイルごとの変更の積み重ねではなく、記録のたびに基本的にそのときの全ファイルの状態のスナップショットを撮り、そのスナップショットへの参照を保存します。中身の変わっていないファイルは、前に保存した同じファイルへのリンクだけを置きます。
ファイルは、コミット済・修正済・ステージ済の3つの主要な状態を持ちます。修正済は、ファイルに変更を加えたがまだ記録に入れていない状態、ステージ済は、次の記録に入れるために、いまの版の修正したファイルに印を付けた状態、コミット済は、手元のデータベースにデータが安全に収まっている状態です。
手元の作業で使うコマンドには、次のようなものがあります。既存のプロジェクトを Git で管理し始めるときは、そのプロジェクトのディレクトリで git init を打ちます。.git という名前のサブディレクトリが作られ、リポジトリに必要なファイルがその中に格納されます。ただし、まだプロジェクト内のファイルは一切管理対象になっていません。git status は、どのファイルがどの状態にあるのかを知るために主に使うコマンドです。新しいファイルの追跡は git add で始められ、git commit は、インデックス(ステージング・エリアとも呼ばれます)の現在の内容と、変更を説明するログメッセージを持つ新しいコミットを作ります。git restore は、指定したパスのファイルを、復元元の内容で作業ツリーに書き戻します。このうち git status と git restore を実際に打った順、画面に出た行、戻す前後のゲームの動きは、gitで確かめ、戻す【AIでゲーム開発】にあります。
混同されやすい言葉
Git と GitHub は別のものです。Git は手元で動くソフトそのもので、GitHub は Git リポジトリのホスティングサービスです。多くのオープンソースプロジェクトが、Git リポジトリ以外にも、課題追跡やコードレビューなどに GitHub を利用しています。
Git とバージョン管理も分かれます。バージョン管理は仕組みの名前で、Git はその中の分散型に当たる実装の1つです。
情報源
- Githttps://git-scm.com/確認日 2026-10-18
- バージョン管理に関して(Pro Git 日本語版)https://git-scm.com/book/ja/v2/%e4%bd%bf%e3%81%84%e5%a7%8b%e3%82%81%e3%82%8b-%e3%83%90%e3%83%bc%e3%82%b8%e3%83%a7%e3%83%b3%e7%ae%a1%e7%90%86%e3%81%ab%e9%96%a2%e3%81%97%e3%81%a6確認日 2026-10-18
- Gitの基本(Pro Git 日本語版)https://git-scm.com/book/ja/v2/%e4%bd%bf%e3%81%84%e5%a7%8b%e3%82%81%e3%82%8b-Git%e3%81%ae%e5%9f%ba%e6%9c%ac確認日 2026-10-18
- Git リポジトリの取得(Pro Git 日本語版)https://git-scm.com/book/ja/v2/Git-%e3%81%ae%e5%9f%ba%e6%9c%ac-Git-%e3%83%aa%e3%83%9d%e3%82%b8%e3%83%88%e3%83%aa%e3%81%ae%e5%8f%96%e5%be%97確認日 2026-10-18
- 変更内容のリポジトリへの記録(Pro Git 日本語版)https://git-scm.com/book/ja/v2/Git-%e3%81%ae%e5%9f%ba%e6%9c%ac-%e5%a4%89%e6%9b%b4%e5%86%85%e5%ae%b9%e3%81%ae%e3%83%aa%e3%83%9d%e3%82%b8%e3%83%88%e3%83%aa%e3%81%b8%e3%81%ae%e8%a8%98%e9%8c%b2確認日 2026-10-18
- git-commit(git-scm.com)https://git-scm.com/docs/git-commit確認日 2026-10-18
- git-restore(git-scm.com)https://git-scm.com/docs/git-restore確認日 2026-10-18
- アカウントの準備と設定(Pro Git 日本語版)https://git-scm.com/book/ja/v2/GitHub-%e3%82%a2%e3%82%ab%e3%82%a6%e3%83%b3%e3%83%88%e3%81%ae%e6%ba%96%e5%82%99%e3%81%a8%e8%a8%ad%e5%ae%9a確認日 2026-10-18
関連ページ16
- Anchorpoint とは|3Dの制作物を Git で扱うためのバージョン管理ソフト
- Bitbucket とは|Atlassian が提供する、Git のリポジトリを置けるサービス
- Git LFS とは|大きなファイルを Git の外に置く拡張
- Backlog とは|ヌーラボが提供する日本語のプロジェクト管理サービス
- Codemagic とは|モバイルアプリのビルド・テスト・配布をクラウドで自動化するサービス
- Codex とは|コードの変更やレビューを代行するOpenAIの開発ツール
- Git とは|ファイルの変更履歴を記録できる無料のバージョン管理システム
- GitHub とは|開発で作るファイルの変更履歴を残し、相談とレビューの場をつけたサービス
この言葉を定義している公式のページ
公式の定義
- git-scm.comhttps://git-scm.com/確認日 2026-09-07