GitとGitHubの違いを理解するための解説
GitとGitHubは、どちらもソースコードのバージョン管理するためのツールです。
この違いを簡単に解説します。
GitとGitHubの違い
- Git:ローカルでのバージョン管理
- GitHub:Gitリポジトリのホスティング
Gitは基本、自分の環境でのみソースコードのバージョン管理を行います。
一方GitHubは、チームでの共有や公開をしたい場合に利用します。
ローカルリポジトリとリモートリポジトリ
- ローカルリポジトリ:自分のパソコン内で使うもので、基本的に他の人と共有しません。
- リモートリポジトリ:インターネット上にあるリポジトリで、複数人で共有するためにサーバー上に置かれます。
つまり、ローカルリポジトリはGitの管理領域であり、リモートリポジトリはGitHubのようなサービス上に存在すると考えてよいです。
ファイルの状態を記録していくことを「コミット」といい、そのコミットを蓄積・管理する場所が「リポジトリ」です。
履歴管理の流れ
まずは、履歴をどのように記録していくのか、Gitの基本構造を見ていきます。
Git:3つの領域で管理
- ワークツリー
- 実際にファイルを編集・作業する場所(作業用ディレクトリ)
- ステージングエリア
- コミットする準備ができた変更を一時的に保管する場所
- 「インデックス」とも呼ぶ
- ローカルリポジトリ
- コミットされた履歴が記録されている領域
.git
ディレクトリに、過去の複数のコミット情報が保存される
コミットの流れ
ワークツリー
作業用ディレクトリで編集
git add
ステージングエリア
変更内容を一時的に保管
git commit
ローカルリポジトリ
履歴として変更を記録(コミット)
このように、Gitでは「作業 → ステージング → コミット」という3段階を経て、変更内容が履歴として記録されていきます。
GitHub:ローカルリポジトリを共有する
ローカルリポジトリにコミットした内容は、任意のタイミングでリモートリポジトリ(GitHub)に共有させることができます。
ローカルリポジトリ
(自分のPC)
git push
リモートリポジトリ
(GitHub)
リモートリポジトリに共有
全体の流れ
コマンド | 内容 |
---|---|
ファイル編集 | ワークツリーで作業 |
git add | ステージングエリアに追加 |
git commit | ローカルリポジトリに記録 |
git push | リモートリポジトリに共有 |
このように、作業内容はまずローカルで管理され、git push
によって初めてリモートに共有されます。
リモートリポジトリをローカルに取り込む
逆に、リモートリポジトリの変更内容をローカルに取り込みたいときは「プル」、または「フェッチ」いう操作を行います。
- プル:ローカルリポジトリとワークツリーに即反映
- フェッチ:ローカルリポジトリにのみ反映(ワークツリーには影響なし)
プル
リモートリポジトリ
(GitHub)
git pull
ローカルリポジトリ
+
ワークツリー
フェッチ
リモートリポジトリ
(GitHub)
git fetch
ローカルリポジトリ
git merge
ワークツリー
すぐに作業環境に反映させたいときはプル、
内容を確認してから統合(マージ)したいときはフェッチを使うと安心です。
リポジトリを複製:クローンとフォーク
GitHubでリポジトリを複製する方法には、「クローン」と「フォーク」の2種類があります。
- クローン:リポジトリを自分のPC(ローカル環境)にコピーします。
- フォーク:GitHub上にある他のユーザーのリポジトリを、自分のアカウントにコピーします。
クローン
リモートリポジトリ
(GitHub)
git clone
ローカルリポジトリ
+
ワークツリー
フォーク
リモートリポジトリ
(GitHub)
他のユーザーアカウント
Fork
リモートリポジトリ
(GitHub)
自分のアカウント
クローンは「ローカル環境での操作」ですが、フォークは「GitHub上での操作」です。
主な使い分け
- 自分用に作業したい場合 → クローン
- 他人のリポジトリに修正を提案したい場合 → フォーク
なお、クローンしたものをさらにクローンすることはできません。
教材などでサブアカウントを使ってフォークする側とされる側を一人二役で行う場合は、まずメインアカウントのリポジトリをクローンし、サブアカウントでフォークすると作業がスムーズに進みます。
GitとGitHubの違いまとめ
Gitはローカル環境での履歴管理ツール、GitHubはそのコードを共有・保存するWebサービスです。
こうした基本的な仕組みや領域の違いを理解しておけば、GitとGitHubの操作に迷わず対応できるようになります。
おすすめWEBスクール
WEB制作やWEBデザインを学びたいなら、SNSでも話題の「デイトラ」がおすすめ!
どのコースも10万円前後と業界最安値で、副業や転職に向けて十分なスキルを身につけることができます。
\ クリックしてジャンプ! /
お気軽にコメントどうぞ