【今さら聞けない】GitとGitHubの違いとは?「セーブデータ」と「オンライン倉庫」で理解する 公開日: 2025年9月27日 プログラミングの世界に足を踏み入れると、必ずセットで登場する2つの言葉があります。 それが「Git(ギット)」と「GitHub(ギットハブ)」です。 名前が似ているせいで、「同じようなものでしょ?」と混同してしまいがちですが、実はこの2つ、役割が全く異なる、別々のツールなのです。 例えるなら、「自動車」と「高速道路」くらい違います。 【実録】「final_final_v2.html」で自滅した話 これは私がまだGitを「難しそうな黒い画面のツール」だと敬遠していた頃の失敗談です。 当時の私は、コードのバックアップを取るために、ファイルをコピペして名前を変えるという、非常に原始的な方法をとっていました。 フォルダの中には、index.html、index_old.html、index_fix.html、index_final_v2.html といった謎のファイルが大量に増殖していました。 そしてある深夜、眠気眼で作業をしていた私は、誤って「本当に最新のコード」が入ったファイルを削除し、古くてバグだらけの index_fix.html を上書き保存してしまったのです。 一瞬にして3日分の作業が消え去りました。Ctrl+Zでも戻せない絶望感。あの時の顔面蒼白になった感覚は今でも忘れられません。 もしあの時Gitを使っていれば、たった一行のコマンドで、削除する前の状態に時間を巻き戻せたはずです。 今日は、この2つのツールの違いを、「ドラクエのセーブデータ」と「オンラインのデータ倉庫」という、最高の例えで解説していきます。 Git:あなたのPCの中にある「冒険の書(セーブデータ)」 まず、Gitとは、あなたのPCの中だけで完結する、「バージョン管理システム」という名前のソフトウェアです。 その役割は、ただ一つ。あなたの書いたコードの「変更履歴」を、セーブデータとして記録し、管理することです。 あなたがRPGゲームをプレイするときを想像してください。 ボスに挑む前に、教会の神父様に話しかけて「冒険の書に記録」しますよね。あれが git commit です。 ボスに負けてしまっても、「復活の呪文(git reset)」を唱えれば、最後にセーブした安全な状態からやり直せます。 「もし、あの時違う道を選んでいたら…」というIFの世界線を試したくなったら、「冒険の書をコピー(git branch)」して、別のスロットで冒険を始められます。 このように、Gitは、あなたのPCの中だけで、コードの歴史を自由にタイムトラベルするための、強力な「セーブ・ロードシステム」なのです。 インターネット接続は、一切必要ありません。 GitHub:あなたの「冒険の書」を預かってくれる、オンラインの巨大な倉庫 一方、GitHubとは、Gitで作ったその「冒険の書(変更履歴)」を、インターネット上で安全に保管し、他の人と共有するための「Webサービス(ウェブサイト)」です。 あなたの家のゲーム機が壊れてしまっても、友達の家で、自分の冒険の続きからプレイしたいですよね? そのために、あなたは自分の「冒険の書(セーブデータ)」を、オンラインの巨大な倉庫に預けておきます。 Macでの作業が終わったら、git push というコマンドで、最新の冒険の書をGitHubという倉庫に預け入れます。 Windows PCで作業を始めるときは、git pull というコマンドで、倉庫から最新の冒険の書を引き出します。 さらに、この倉庫は、ただ預かるだけではありません。 他のプレイヤー(開発者)に、あなたの冒険の書を見せて、アドバイスをもらったり(コードレビュー) 仲間と一緒に、それぞれの冒険の書を持ち寄って、一つの大きな冒険を協力して進めたり(チーム開発) といった、共同作業を円滑に進めるための、様々なコミュニケーション機能を提供してくれます。 このサイト「SerchCode Pro」も、GitHubという倉庫にコードを預け、Renderという全自動の執事が、そこから最新のコードを取り出して、Webサイトとして公開してくれているのです。 まとめ:2つのツールの関係性 もう、お分かりですね。 Git: コードの変更履歴を記録・管理する、手元の道具(ソフトウェア) GitHub: Gitで作った履歴を、保管・共有するための、インターネット上の場所(Webサービス) まず、手元のGitでセーブデータ(commit)を作り、それをGitHubという倉庫に預ける(push)。 この2つのツールを正しく使い分けることができれば、あなたはもう、立派な現代の開発者の一員です。 プログラミング学習に必須ツール! 記事で紹介したコードがよく分からなかったり、ご自身のコードについてもっと知りたい場合は、AIコード解説ツールが便利です。コードを貼り付けるだけで、AIが日本語で分かりやすく解説します。 AIコード解説ツールを使ってみる →