【今さら聞けない】GitとGitHubの違いとは?「セーブデータ」と「オンライン倉庫」で理解する
公開日: 2025年9月10日
プログラミングの世界に足を踏み入れると、必ずセットで登場する2つの言葉があります。
それが「Git(ギット)」と「GitHub(ギットハブ)」です。
名前が似ているせいで、「同じようなものでしょ?」と混同してしまいがちですが、実はこの2つ、役割が全く異なる、別々のツールなのです。 例えるなら、「自動車」と「高速道路」くらい違います。
この違いを正確に理解することは、あなたがチーム開発に参加したり、自分の作品を世界に公開したりするための、非常に重要な第一歩です。 今日は、この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つのツールを正しく使い分けることができれば、あなたはもう、立派な現代の開発者の一員です。
GitHub以外にも、GitLabやBitbucketといった、別の名前の「倉庫サービス」も存在しますが、基本的な考え方はすべて同じです。 まずはこの関係性だけ、しっかりと覚えておきましょう。
プログラミング学習に必須ツール!
記事で紹介したコードがよく分からなかったり、ご自身のコードについてもっと知りたい場合は、AIコード解説ツールが便利です。コードを貼り付けるだけで、AIが日本語で分かりやすく解説します。
AIコード解説ツールを使ってみる →