「Git(ギット)やGitHub(ギットハブ)って聞いたことあるけど、何のこと?」
プログラミングを学び始めると必ず出てくるこの2つの言葉。エンジニアの求人でも「Git使用経験」と書かれていることが多いですよね。
この記事では、GitとGitHubの違いを初心者の方にもわかるように、図解を交えてやさしく解説します。
GitとGitHubは別物!まずは違いを理解しよう
最初に結論をお伝えします。
| 名前 | 何か? | 例えるなら |
|---|---|---|
| Git | バージョン管理システム(ソフトウェア) | セーブ機能 |
| GitHub | Gitを使ったWebサービス | クラウド上のセーブデータ置き場 |
Gitは「ツール(道具)」で、GitHubは「そのツールを便利に使うためのWebサービス」です。
この違いを理解することが、最初の一歩です。
Gitとは?「バージョン管理システム」を理解しよう
Gitは「ファイルの変更履歴を記録するツール」
Git(ギット)は、ファイルの変更履歴を管理するためのツールです。2005年にLinux(リナックス)の生みの親であるリーナス・トーバルズ氏によって開発されました。
もう少し具体的に説明しましょう。
Gitがない世界を想像してみよう
たとえば、あなたがレポートを書いているとします。Gitを使わない場合、こんな経験はありませんか?
レポート.docx
レポート_修正.docx
レポート_修正2.docx
レポート_最終版.docx
レポート_最終版_本当の最終.docx
レポート_提出用_これが本物.docx
「どれが最新?」「いつ何を変えた?」がわからなくなりますよね。
プログラミングでは、数百〜数千のファイルを扱うこともあります。この方法では破綻してしまいます。
Gitがある世界
Gitを使うと、1つのファイルで変更履歴をすべて管理できます。
レポート.docx
├── 履歴1: 2025/01/10 「初稿作成」
├── 履歴2: 2025/01/11 「第2章を追加」
├── 履歴3: 2025/01/12 「誤字を修正」
└── 履歴4: 2025/01/13 「図表を追加」
このように、いつ・誰が・何を変更したかがすべて記録されます。
さらに、「やっぱり昨日の状態に戻したい」と思ったら、ワンクリックで過去の状態に戻すこともできます。
Gitの3つのメリット
① 変更履歴がすべて残る
いつ、誰が、どこを変更したかが記録されます。「誰がこのバグを入れた?」もすぐわかります。
② 過去の状態に戻せる
間違えて大事なコードを消してしまっても、過去の状態に戻せます。セーブポイントに戻るイメージです。
③ 複数人で同時に作業できる
AさんとBさんが同じファイルを編集しても、Gitが変更点をうまく統合してくれます。
GitHubとは?「Gitをもっと便利にするサービス」
GitHubは「Gitのデータをクラウドに保存・共有できるサービス」
GitHub(ギットハブ)は、Gitで管理しているデータをインターネット上に保存・共有できるWebサービスです。2008年に設立され、現在はMicrosoft社が運営しています。
Gitだけでも履歴管理はできますが、それは自分のパソコンの中だけの話。GitHubを使うことで、次のようなことができるようになります。
GitHubでできること
① コードをクラウドにバックアップ
パソコンが壊れても、GitHubにデータがあれば安心です。
② チームでコードを共有
離れた場所にいるメンバーとも、同じコードを共有して開発できます。
③ 他の人のコードを見る・使う
世界中の開発者が公開しているコードを見たり、自分のプロジェクトに取り入れたりできます。
④ ポートフォリオとして使う
自分が書いたコードを公開することで、転職活動のアピール材料になります。
GitHubは「エンジニアのSNS」とも呼ばれる
GitHubには、コードを公開するだけでなく、他の開発者をフォローしたり、プロジェクトに「スター(いいね)」をつけたりする機能があります。
世界中のエンジニアが集まる場所なので、「エンジニアのSNS」とも呼ばれています。
GitとGitHubの関係を図解で理解
ここまでの内容を整理しましょう。
【自分のパソコン】
│
│ Gitで変更履歴を管理
│
▼
┌─────────────┐
│ ローカル │ ← 自分のPC内のデータ
│ リポジトリ │
└─────────────┘
│
│ push(アップロード)
│
▼
┌─────────────┐
│ GitHub │ ← クラウド上のデータ
│ (リモート) │
└─────────────┘
│
│ 他のメンバーがpull(ダウンロード)
│
▼
【他の人のパソコン】
このように、Gitでローカル(自分のPC)の履歴を管理し、GitHubでリモート(クラウド)に保存・共有するという関係です。
覚えておきたいGitの基本用語
Gitを使い始めると出てくる用語を、簡単に紹介します。
| 用語 | 読み方 | 意味 |
|---|---|---|
| リポジトリ | repository | ファイルと変更履歴を保存する場所(フォルダのようなもの) |
| コミット | commit | 変更内容を履歴として保存すること(セーブするイメージ) |
| プッシュ | push | ローカルの変更をGitHubにアップロードすること |
| プル | pull | GitHubの変更をローカルにダウンロードすること |
| クローン | clone | GitHubのリポジトリを自分のPCにコピーすること |
| ブランチ | branch | 履歴を分岐させて、別の作業を並行して進める機能 |
| マージ | merge | 分岐したブランチを統合すること |
最初はすべて覚える必要はありません。「リポジトリ」「コミット」「プッシュ」「プル」の4つを押さえておけば、基本的な操作は理解できます。
なぜエンジニアにGit/GitHubは必須なのか?
理由①:チーム開発で必ず使う
実際の開発現場では、一人でコードを書くことはほとんどありません。チームで開発する際、Gitがなければファイルの管理が破綻します。
「誰かが編集中のファイルを別の人が上書きしてしまった」という事故を防ぐためにも、Gitは必須です。
理由②:求人の応募条件になっている
エンジニアの求人を見ると、多くの企業が「Git使用経験」を応募条件に挙げています。
逆に言えば、Gitを使えるだけで、未経験者の中では一歩リードできるということです。
理由③:ポートフォリオを公開できる
GitHubに自分のコードを公開しておくと、面接官に「この人はこういうコードを書くんだな」と具体的に見てもらえます。
口で「プログラミングができます」と言うより、GitHubを見せる方が100倍説得力があります。
GitHub以外のサービスもある?
Gitを使ったホスティングサービスは、GitHub以外にもあります。
| サービス名 | 特徴 |
|---|---|
| GitHub | 最も利用者が多い。個人開発からOSSまで幅広く使われる |
| GitLab | CI/CD機能が充実。企業での利用が多い |
| Bitbucket | Atlassian社製。Jiraとの連携が強み |
ただし、初心者はまずGitHubから始めることをおすすめします。利用者が多い分、困ったときに情報を見つけやすいからです。
Git/GitHubの学習ステップ
「よし、Git/GitHubを勉強しよう!」と思った方は、以下の順番で学習を進めてみてください。
ステップ1:GitHubアカウントを作成する
https://github.com からアカウントを作成します(無料)。
ステップ2:Gitをインストールする
自分のパソコンにGitをインストールします。WindowsでもMacでも無料で使えます。
ステップ3:基本操作を練習する
「リポジトリ作成 → ファイル追加 → コミット → プッシュ」の流れを、実際に手を動かして覚えます。
ステップ4:チュートリアルに挑戦
GitHubには初心者向けのチュートリアルがあります。公式ドキュメントや学習サイトを活用しましょう。
まとめ
| 項目 | Git | GitHub |
|---|---|---|
| 何か? | バージョン管理システム(ツール) | Gitを使うWebサービス |
| 役割 | ファイルの変更履歴を記録 | クラウドで保存・共有 |
| 場所 | 自分のパソコン | インターネット上 |
| 料金 | 無料 | 基本無料(有料プランあり) |
Gitは「変更履歴を管理するツール」、GitHubは「それをクラウドで共有するサービス」です。
どちらもエンジニアとして働くなら必須のスキル。難しそうに見えますが、実際に使ってみると意外とシンプルです。
まずはGitHubアカウントを作るところから、始めてみてください!
SKサービスでエンジニアデビューしませんか?
SKサービスでは、Git/GitHubを含む開発スキルを実務で身につけられる環境があります。
- 未経験からエンジニアを目指す方
- チーム開発を経験したい方
- 最新の開発ツールを使いこなせるようになりたい方
まずは気軽にエントリーしてみてください!
この記事が参考になったら、ぜひSNSでシェアしてください!