こんにちは、かつコーチです。
Git編の15記事で、コミットやブランチなどローカルでの操作は身についてきた頃だと思います。
でも「GitHubって結局Gitと何が違うの?」と聞かれると、うまく説明できない方も多いのではないでしょうか。
この記事では、GitHubがどんなサービスで、なぜチーム開発に欠かせないのかを、身近な例に置き換えながら解説します。
読み終える頃には、GitHubの役割を自分の言葉で説明できるようになります。
GitHubとは?
GitHub=みんなで書き込める共有掲示板・クラウドの作業場
GitHubとは、Gitで管理しているリポジトリ(記録帳)をインターネット上に置いて、複数人で共有・編集できるようにするサービスです。
たとえるなら、GitHubは「みんなで書き込める共有掲示板」、あるいは「クラウド上の作業場」のようなものだとイメージしてください。
Git編で学んだ「ローカルリポジトリ」は、自分の机の上だけにあるノートのようなものでした。
自分ひとりで書き込む分には困りませんが、他の人に見せたり、一緒に編集したりするには、そのノートをどこかに持って行く必要があります。
GitHubは、そのノートを置いておける「みんなが見られる掲示板」を用意してくれるサービスなのです。
なぜGitHubが必要なのか(Gitとの違い)
ここで整理しておきたいのが、GitとGitHubの違いです。
Gitは、ファイルの変更履歴を記録する「しくみ・ツール」そのものです。
一方GitHubは、そのGitのしくみを使って、インターネット上でリポジトリを共有できるようにした「サービス・場所」です。
たとえるなら、Gitが「ノートを取る技術」だとすれば、GitHubは「そのノートを置いておける共有の作業場」にあたります。
チーム開発では、複数人が同じプロジェクトのコードを触ります。
各自のパソコンの中だけにコードがあると、誰が何を変更したのか、最新版はどれなのかがわからなくなってしまいます。
GitHubという共有の作業場にリポジトリを置くことで、チーム全員が同じ最新版を見ながら、安心して開発を進められるようになるのです。
GitHubの基本的な使い方の流れ
手順1:公開されているリポジトリを覗いてみる
アカウントがなくても、GitHub上の公開リポジトリはブラウザで閲覧できます。
まずはGitHub公式が用意しているサンプルリポジトリを、手元にクローン(複製)して感覚をつかんでみましょう。
git clone https://github.com/octocat/Hello-World.git
cd Hello-World
ls -la
このコマンドを実行すると、共有掲示板に貼られているノートの中身を、自分の作業場にまるごとコピーしてきたことになります。
手順2:履歴を確認して「みんなの記録」を見る
クローンしたリポジトリの中では、Git編で学んだコマンドがそのまま使えます。
git log --oneline
表示されるコミット履歴は、掲示板に貼られたノートに、いろいろな人が書き込んできた変更の記録そのものです。
GitHubの画面上では、これに加えて「Star(お気に入り登録)」や「Watch(更新通知の購読)」といった、掲示板ならではの機能も用意されています。
つまずきやすい設定・注意点
初心者がよく混同しやすいのが、「GitHubに登録すればGitも自動的に使える」という誤解です。
GitHubはあくまでクラウド上の作業場であり、ローカルでコミットやブランチを操作するには、パソコンにGitがインストールされている必要があります。
以下のコマンドで、Gitが使える状態になっているか確認しておきましょう。
git --version
バージョン番号が表示されれば準備完了です。
よくあるつまずきポイント・エラー対処
「アカウントを作ればすぐ共同編集できる」と思い込んでいた話
私が学習を始めた頃、実際につまずいたのがこの誤解でした。
❌ Before
GitHubのアカウントさえ作れば、他の人とすぐにファイルを共同編集できると思い込んでいました。
そのため、ローカルにGitをインストールしないまま、ブラウザ上だけで作業しようとして、git cloneなどのコマンドがどこにも見当たらず混乱してしまったのです。
✅ After
落ち着いて調べ直したところ、GitHubは「共有の作業場(クラウド)」を提供しているだけで、実際にファイルを編集・記録する作業は、手元のパソコンにインストールしたGitが担当していると理解できました。
# ローカルにGitがあるか確認
git --version
# なければ公式サイトからインストール
# https://git-scm.com/downloads
この経験から、「GitHub=クラウドの作業場」「Git=作業場に書き込むための道具」という役割分担を意識すると、混乱しにくいと学びました。
応用・一歩先の使い方
GitHubでできること一覧(この先の記事で扱うテーマ)
GitHubという共有掲示板には、単にファイルを置いておくだけでなく、チーム開発を支える多くの機能が備わっています。
- Issue:課題やタスクを付箋のように貼り出す機能
- Pull Request:「この変更を取り込んでいいですか」と提案する機能
- コードレビュー:他の人の変更に赤入れ(コメント)をする機能
- GitHub Actions:決まった作業を自動で実行してくれる機能
これらは今後の記事で1つずつ詳しく解説していきます。
まずは次回、GitHubアカウントの作成とSSH鍵の設定を行い、実際に自分の作業場を持てる状態を整えましょう。
まとめ
この記事のポイント
- GitHubとは、Gitのリポジトリをインターネット上で共有できる「クラウドの作業場」のこと
- Gitが「記録する技術」、GitHubが「その記録を置いておける共有の場所」という役割分担がある
- GitHubを使うにも、ローカルにGitのインストールが必要
- チーム開発では、GitHubを介して全員が同じ最新版を見ながら作業を進められる
次に読むべき記事
GitHubの役割がわかったら、次は実際に自分のアカウントを作り、安全に接続するための準備をしましょう。
「GitHubアカウント作成とSSH鍵の設定」で、自分専用の合鍵を作る手順を解説しています。
