GitHub(ギットハブ)は、チーム開発で広く使われているソースコード管理サービスです。この記事では、GitHubの基本的な知識と、開発がどのような流れで進むのかをわかりやすく解説します。
この記事で学べること:
- GitHubとは何か、GitとGitHubの違い
- GitHubを使った開発の流れ
- 開発を始めるための準備
AIツールを活用した開発が広がる今、基礎知識があることでAIをより効果的に使いこなせます。「GitHubって何だろう」「開発現場でうまく使えるだろうか」と不安を感じている方も、この記事で全体像をつかみ、自信を持って開発の第一歩を踏み出せるようになるでしょう。
GitHubとは?
GitHub(ギットハブ)とは、プログラムのソースコードをオンライン上で管理・共有できるサービスです。バージョン管理システム「Git」の仕組みをベースに、チームでの共同開発をスムーズに進めるための機能が用意されています。
GitHubを使うことで、「誰が・いつ・どこを変更したか」をすべて記録しながら開発を進められます。コードの変更履歴を残せるため、問題が起きた際に以前の状態に戻すことも可能です。
個人開発からチーム開発まで幅広く使われており、多くの企業やオープンソースプロジェクトがGitHubを開発の基盤として採用しています。
GitとGitHubの違い
Gitとは、ファイルの変更履歴を記録・管理するためのバージョン管理システムです。開発者のPC上で動作し、コードの変更を時系列で追跡できます。
GitHubは、このGitの仕組みをベースにした、オンライン上のサービスです。Gitで管理しているコードをインターネット上に保存し、チームメンバーと共有やレビューをしたりできます。
両者の違いを表にまとめます。
| Git | GitHub | |
|---|---|---|
| 種類 | バージョン管理システム | Webサービス |
| 動作場所 | 自分のPC(ローカル) | インターネット上(リモート) |
| 主な役割 | コードの変更履歴を記録する | コードを共有し、チームで開発を進める |
| 利用方法 | コマンドラインで操作 | ブラウザやコマンドラインからアクセス |
Gitが「自分のPCで変更を管理する仕組み」、GitHubが「その管理しているコードをチームで共有する場所」と捉えるとわかりやすいかと思います。
GitHubを使った開発の全体像
GitHubを使った開発は、「コードを取得する → 編集する → 変更を記録する → 共有する」という流れで進みます。
GitHub開発の知っておきたい用語
GitHub開発では多くの専門用語が登場しますが、その中で初心者の方がつまずきやすい3つを解説します。
-
リポジトリ
リポジトリとは、ソースコードや変更履歴をまとめて保管する場所です。GitHub上の「リモートリポジトリ」と、自分のPCにコピーした「ローカルリポジトリ」の2種類があり、この2つを使い分けて開発を進めます。

図:GitHubのリポジトリとは - リモートとローカルの2種がある
-
ブランチ
ブランチとは、変更履歴の中で「現在どのコミットを最新として見るか」を示す目印です。開発では main ブランチを本番用の履歴として使い、そこから別のブランチを作って作業することが一般的です。これにより、本番用の履歴とは分けて、機能追加や修正の作業を進められます。

図:Gitのブランチとは - 変更履歴の最新を差し示す印
-
ステージングエリア
ステージングエリア(インデックス)とは、変更したファイルの内容を、次のコミットに含めるために一時的に登録しておく場所です。記録したい変更部分だけをステージングエリアに登録することで、どの変更をコミットに含めるかを整理できます。

図:ステージングエリアとは - 変更内容をステージングエリアに登録
開発の流れ:clone からプルリクエストまで
各工程の開発の流れは以下のとおりです。

図:GitHubを使った開発の全体像 - git cloneからプルリクエストまで
-
clone(クローン):リモートリポジトリを自分のPCにコピー
開発を始めるには、まずGitHub上のリモートリポジトリを自分のPCに複製します。この操作をclone(クローン)と呼び、
git cloneコマンドで実行します。なお、すでにローカルリポジトリがある場合は、git pullコマンドで最新の変更を取得します。 -
編集:ブランチを作成してコードを変更
git switchコマンドで作業用のブランチを作成し、ローカルリポジトリ内のワークツリーと呼ばれる作業スペースでファイルの追加や修正を行います。 -
commit(コミット):変更内容の記録
ファイルの編集が完了したら、
git addコマンドでステージングエリアに変更内容を登録します。次に、git commitコマンドでその時点のプロジェクト全体の状態をローカルリポジトリに記録します。 -
push(プッシュ):変更をリモートリポジトリに反映
ローカルリポジトリに記録したコミットを、
git pushコマンドでGitHub上のリモートリポジトリにアップロードします。pushすることで、自分の作業内容をチームメンバーに共有できます。 -
プルリクエスト:変更内容のレビューをチームに依頼
pushしたら、GitHub上でプルリクエストを作成します。プルリクエストとは、自分の変更内容を本体のブランチに統合(マージ)してもらうためのリクエストです。チームメンバーがコードを確認し、問題がなければマージされます。
GitHubで開発を始める準備
GitHubで開発を始めるには、アカウントやリポジトリの作成、SSHキーの設定が必要です。ここでは各準備の概要を紹介します。
アカウント作成とリポジトリ作成
GitHubを利用するには、アカウントとリポジトリの作成を行います。アカウント作成はGitHubの公式サイトから無料で行えます。リポジトリの作成はいくつかの初期設定を行います。
SSHキーの設定
SSHキーとは、GitHubとの通信を安全に行うための認証方式です。多くの開発現場ではSSH接続が使われており、事前に設定しておくことをおすすめします。
cloneからpushまでを実践する
アカウント作成・リポジトリ作成・SSHキーの設定が完了したら、実際にコードを取得して変更を反映するまでの流れを体験してみましょう。本記事の「GitHubを使った開発の全体像」で紹介した一連の流れを、手を動かしながら学べます。
関連記事:GitHubからcloneしてpushまでの解説 >>
GitHubに関するよくある質問
GitHubに関するよくある質問を以下の通りにまとめました。
Q. GitHubは無料で使えますか?
GitHubは無料プランで利用できます。個人利用やチーム開発に必要な基本機能は無料プランに含まれているため、学習や小規模な開発であれば無料プランで十分です。
Q. GitとGitHubの違いは何ですか?
Gitはファイルの変更履歴を管理するバージョン管理システムで、自分のPC上で動作します。GitHubはGitの仕組みをベースにしたWebサービスで、コードをオンライン上で共有し、チームでの共同開発を支援します。
Q. GitHubは何ができるサービスですか?
ソースコードのバージョン管理とチームでの共同開発が主な用途です。コードの変更履歴の管理、プルリクエストによるコードレビュー、プロジェクト管理機能などを利用できます。
Q. GitHubは初心者でも使えますか?
基本的な流れを理解すれば、初心者でも問題なく使い始められます。最初からすべての機能を覚える必要はなく、clone・commit・push・プルリクエストの流れを押さえることで、チーム開発に参加できます。
Q. リポジトリは公開にするべきですか、非公開にするべきですか?
目的によって使い分けます。学習用や個人的なプロジェクトであれば非公開(プライベート)が安心です。オープンソースとして公開したい場合や、ポートフォリオとして見せたい場合は公開(パブリック)を選びます。
まとめ
この記事では、GitHubの基本的な知識と開発の流れについて解説しました。
学んだ内容:
この記事の要点は以下の通りです。
- GitHubはソースコードをオンラインで管理・共有するためのサービス
- Gitが自分のPC上での変更管理、GitHubがチームでの共有・協力の場所
- 開発はclone → 編集 → commit → push → プルリクエストの流れで進行
- リポジトリ・ブランチ・ステージングエリアの3つをしっかり理解
- 開発を始めるにはアカウント作成・リポジトリ作成・SSHキーを準備
AI時代に入り、GitHub CopilotなどのAIツールを活用した開発が広がっています。その中でも、基礎知識があることで、AIをより効果的に使用することが可能になります。この記事で学んだ開発の流れを土台に実際に手を動かしてみることで、これから自信を持ってGitHubを使えるようになるでしょう。
参考資料
以下のリンクは、この記事で解説した手順や概念に関連する参考資料です。より詳しく学びたい方は、ぜひご覧ください。
【番外編】USBも知らなかった私が独学でプログラミングを勉強してGAFAに入社するまでの話

プログラミング塾に半年通えば、一人前になれると思っているあなた。それ、勘違いですよ。「なぜ間違いなの?」「正しい勉強法とは何なの?」ITを学び始める全ての人に知って欲しい。そう思って書きました。是非読んでみてください。
「フリーランスエンジニア」
近年やっと世間に浸透した言葉だ。ひと昔まえ、終身雇用は当たり前で、大企業に就職することは一種のステータスだった。しかし、そんな時代も終わり「優秀な人材は転職する」ことが当たり前の時代となる。フリーランスエンジニアに高価値が付く現在、ネットを見ると「未経験でも年収400万以上」などと書いてある。これに釣られて、多くの人がフリーランスになろうとITの世界に入ってきている。私もその中の1人だ。数年前、USBも知らない状態からITの世界に没入し、そこから約2年間、毎日勉学を行なった。他人の何十倍も努力した。そして、企業研修やIT塾で数多くの受講生の指導経験も得た。そこで私は、伸びるエンジニアとそうでないエンジニアをたくさん見てきた。そして、稼げるエンジニア、稼げないエンジニアを見てきた。
「成功する人とそうでない人の違いは何か?」
私が出した答えは、「量産型エンジニアか否か」である。今のエンジニア市場には、量産型エンジニアが溢れている!!ここでの量産型エンジニアの定義は以下の通りである。
比較的簡単に学習可能なWebフレームワーク(WordPress, Rails)やPython等の知識はあるが、ITの基本概念を理解していないため、単調な作業しかこなすことができないエンジニアのこと。
多くの人がフリーランスエンジニアを目指す時代に中途半端な知識や技術力でこの世界に飛び込むと返って過酷な労働条件で働くことになる。そこで、エンジニアを目指すあなたがどう学習していくべきかを私の経験を交えて書こうと思った。続きはこちらから、、、、
エンベーダー編集部
エンベーダーは、ITスクールRareTECHのインフラ学習教材として誕生しました。 「遊びながらインフラエンジニアへ」をコンセプトに、インフラへの学習ハードルを下げるツールとして運営されています。
関連記事

2024.06.02
Gitコマンド「git fsck」とは?リポジトリの安定を保つサポートツールを紹介
今回は、安定したリポジトリ運用をサポートする「git fsck」を解説します。様々なGitコマンドを習得し、Gitマスターを目指しましょう!
- git

2024.06.02
Gitコマンドgit ls-remoteとは?使い方を徹底解説!
git ls-remoteは、リモートリポジトリをcloneやfetchすることなくリポジトリのリファレンスを確認することができます。リモートリポジトリのブランチ情報や、リポジトリの構造を簡単に知りたい時に便利です。
- git

2023.09.25
Terraform Workspaceの基礎知識。workspaceの操作と仕組み
Terraformの機能の一つである「workspace」に焦点を当て、その基本から使い方に至るまでをご紹介します。
- インフラエンジニア

2024.06.02
リポジトリ内の探しものは「git grep」で効率的な検索テクニックを紹介
「git grep」コマンドを使用すると、リポジトリ内のファイルを一度に検索することができて、とても便利なのです。そんなリポジトリ内を一斉検索できる便利なコマンド、「git grep」をこの記事で解説します。
- git



