IT·テック

Git

強敵(ボス)との戦いの直前にセーブデータを作り、いつでも過去に戻れるようにしてくれるタイムマシン付きの記録ノートです。

  • 約3分
  • 図 2点
  • 2026-10-12 検証

定義

Git(ギット)とは、ファイルの変更履歴を時系列で細かく記録してくれるバージョン管理システムです。ソースコードなどのテキストファイルなら、「いつ・誰が・どの行を追加・削除したのか」を一目で追跡でき、作業中にミスがあっても、記録(コミット)しておいた過去の時点へと安全に戻すことができます。

無限に増え続ける『本当の最終版』ファイルを救う仕組み

書類やレポートを作っていて、「企画書_最終版.docx」「企画書_本当の最終版.docx」「企画書_最終_修正済_確定.docx」といったファイルでデスクトップが埋め尽くされた経験は誰にでもあるはずです。せっかく書いた大切な内容が消えてしまうのを恐れて、ファイル名を変えながらコピーを増やしてしまうからです。

Gitは、こうした非効率なファイルの複製作業をスッキリと解決してくれます(Wordファイルはあくまで分かりやすい例えで、Gitは主にソースコードなどのテキストファイルを管理するために使われます)。ファイル名は1つのまま、好きなタイミングでチェックポイント(セーブデータ)を写真のように残しておくことができるのです。

こうして積み重なった記録のおかげで、いつでも過去へとタイムトラベルが可能です。新しい内容を書き足した結果プログラムが動かなくなってしまっても、慌てる必要はありません。数回の操作で、昨日の午後3時にセーブ(コミット)した正常な状態へとキレイに戻せます。

独立したパラレルワールドを作る『ブランチ』の魔法

Gitは1人で作業するときも便利ですが、チームでひとつのプログラムを開発するときに真価を発揮します。もし複数人が同じファイルを同時に編集したら、お互いの作業内容を上書きしてしまい、大混乱に陥ってしまいます。

Gitはこの問題を、『ブランチ(枝)』というパラレルワールドの仕組みでスマートに解決します。元の太い幹(メインのコード)を安全に保ったまま、開発者ごとに自分だけの新しい枝を伸ばし、それぞれ担当する機能を自由に開発できるのです。

各自のブランチで実験や開発が終わったら、その枝を元の幹へと合流(マージ)させます。もし2人の開発者が同じ行を別々に変更してしまっても、Gitが「ここが衝突(コンフリクト)しています」と正確に教えてくれるため、トラブルにならずにスムーズにすり合わせができます。

もう少し詳しく言うと――『分散型』バージョン管理

もう少し専門的に言うと、Gitは参加者全員がプロジェクトの全歴史を共有して持つ『分散型バージョン管理システム』です。中央サーバーだけに履歴を保管していた古い方式とは異なり、参加するメンバー全員のパソコンにすべての変更履歴の完全な複製が保存されます。

そのため、飛行機の中や電波の届かないオフライン環境でも、問題なく作業履歴を残したり過去の記録を調べたりできます。また、万が一メインのサーバーが落雷や故障でダウンしても、誰かのパソコンに残っている複製から、最後に同期した時点までの履歴をほぼそのまま復旧させることができます。

なお、Git自体にも他のパソコンと記録をやり取りする機能(push・pull)が備わっています。このGitのリポジトリ(保存庫)をクラウド上に置いて、世界中の仲間と共有・共同作業できるようにした代表的なWebサービスが『GitHub(ギットハブ)』です。

よくある誤解

誤解

GitとGitHubはまったく同じツールである。

事実

Gitは変更履歴を記録・管理するツール(ソフトウェア)であり、GitHubはそのGitの記録(リポジトリ)をオンライン上で共有し、共同作業を便利にする代表的なWebサービスです。

日常で出会う場面

  1. 実験的な新機能を開発中にコードが動かなくなってしまったとき、たった1つのコマンドで昨日の正常に動いていた状態へ復元する。

  2. 複数のチームメンバーがログイン機能と決済機能をそれぞれ別々に開発し、ひとつのアプリへと合流(マージ)させる(重なる部分があればGitの警告をもとに調整する)。

つまり ひとことで

Gitは、ファイルの変更履歴をゲームのセーブデータのように記録し、いつでも過去の状態に戻したりチームで共同作業したりできるようにする分散型バージョン管理ツールです。

作成 2026-02-15 更新 2026-10-12 検証 2026-10-12