GitHubとは

GitHubとは、Microsoft社が提供するオンラインのバージョン管理プラットフォームです。バージョン管理システム「Git」の仕組みを活用することで、開発者たちが集まれるようにした中心地(Hub)、といった意味が込められています。
GitHubを使えば、Web上でプログラムやデザインといったファイルを正確に管理・共有することが可能です。基本的な機能であれば無料で使えるのも魅力で、現在では最多ユーザーを誇るバージョン管理プラットフォームとなっています。
なお、GitHubとよく似たサービスに「GitLab」があります。GitHubとGitLabの違いについて興味がある方は、次の記事をご一読ください。
関連記事
・GitHubとGitLabの違いとは?項目別にそれぞれの魅力
利用にはGitのインストールが必要
GitHubを使うためには、前提としてローカル環境(自分のパソコン)へのGitのインストールが必要です。GitHubのバージョン管理はGitの仕組みを基盤としているため、Gitを使える環境が前提となります。
Gitをインストールすると、「Gitコマンド」というGitへの命令文が利用できます。Gitコマンドは、ローカル環境のファイルとGitHubを連携させる際などに必要です。GitHubの始め方は後ほど紹介しますが、GitHubを始めるうえでGitも必要となることを理解しておきましょう。
無料版と有料版の違い
GitHubには、無料版(Freeプラン)と2つの有料版(Teamプラン/Enterpriseプラン)があります。それぞれの料金と主な機能を下表にまとめました。
プラン名 | 料金 | 主な機能 |
Free | 無料 | ・コードのバージョン管理 ・コードレビュー ・プロジェクト管理 ・CI/CD時間:2,000分/月 |
Team | 月額48ドル | ・Freeプランの全機能 ・高度なコードレビュー ・ブランチの保護 ・クラウド開発環境の構築 ・静的Webサイトの構築 ・CI/CD時間:3,000分/月 |
Enterprise | 月額252ドル | ・Teamプランの全機能 ・企業単位でのプロジェクト管理 ・高度な監査 ・自社サーバーとクラウドの連携 |
※2024年11月時点の公式サイトにもとづき記載
当然ながら、上位のプランほど高度な機能が使えるようになります。しかしFreeプランでも、バージョン管理に必要な基本機能は揃っています。個人開発者や小規模プロジェクトであれば、Freeプランでも十分なケースが多いでしょう。
中規模以上のプロジェクトで、よりスムーズな連携を図りたい場合はTeamプランがおすすめです。企業単位での管理・監査機能が必要な場合は、Enterpriseプランの利用も検討しましょう。
GitHubを活用することで何ができる?

GitHubにはさまざまな機能があり、結局のところ何に使えるのかイメージできない方もいるでしょう。ここでは、GitHubを活用することで何が行えるようになるのかを紹介します。
- ファイルのバージョン管理
- チームでの共同作業
- 成果物の公開
- プロジェクト管理
- 簡単なWebサイトの公開
それぞれ詳しく見ていきましょう。
ファイルのバージョン管理
GitHubの最も基本的な使い方は、ファイルのバージョン管理です。GitHubを使えば、Web上でプログラムやデザインなどのファイルを保管し、バージョンの変遷を継続的に記録・追跡できます。
GitHubでは、ファイルの追加や変更、削除といった情報が全て変更履歴として記録され、いつでも確認可能です。ファイルの変更箇所や変更日時、変更者などを含めた詳細情報を閲覧でき、いつ誰が何を変更したのかをチームで把握できます。
また、ファイルに問題が見つかった場合は、特定のバージョンに戻すことも可能です。GitHubを使うことで、複数人のチーム開発でも正確にファイルを管理できます。
チームでの共同作業
GitHubを使うことで、チームでの共同作業が可能です。GitHubでは、ファイル一式を「リモートリポジトリ」という保管庫に格納し、チーム内で共有できます。リモートリポジトリに複数人が変更を加えていき、1つのプロダクトを制作することが可能です。
また「プルリクエスト機能」を使えば、変更内容を関係者と共有し、レビューを受けることも可能です。関係者から承認された変更だけを反映することで、プロダクトの品質を保ちながら制作を進められます。
成果物の公開
GitHubを使うことで、プログラムやデザインなどの成果物を公開することが可能です。GitHubのリモートリポジトリには、公開(Public)・非公開(Private)の設定があります。公開設定にするだけで、世界中のエンジニアが成果物を閲覧できるようになります。
とくにIT業界では、ポートフォリオとして活用するためにGitHub上で自作ソフトウェアを公開することが一般的です。また、オープンソース(コード公開)型の開発プロジェクトでは、GitHub上の公開リポジトリを通して世界中のエンジニアが連携します。
プロジェクト管理
GitHubには、プロジェクト管理ツールとしての使い方もあります。GitHubの「イシュー機能」を使えば、プロジェクトが抱えるタスクを管理することが可能です。また、それらのタスクをプロジェクト単位で俯瞰しながら、進捗状況を把握できます。
プロジェクト管理に特化したサービスではないため、それほど高度な使い方はできません。しかし、それほど大規模なプロジェクトでなければ問題ありません。ソフトウェア開発に限らず、幅広い業界のプロジェクト管理で活用できます。
簡単なWebサイトの公開
GitHubには、簡単なWebサイトを公開する使い方もあります。「GitHub Pages」を使うことで、フロントエンド(ブラウザ側の要素)だけのWebサイトであれば公開が可能です。たとえば、自分の作品を紹介するポートフォリオサイトとして活用できます。
ただし、バックエンド(サーバー側の要素)を含むWebサイトには対応していません。たとえば、検索キーワードに応じたコンテンツを表示する、といったデータのやり取りを含むWebサイトの公開は不可能です。
GitHubを始める4つのSTEP

ここでは、GitHubの始め方を4ステップで簡単に紹介します。
- Gitのインストール
- GitHubのアカウント作成
- Gitの初期設定
- GitHubの2要素認証
各ステップについて、順番に見ていきましょう。
1. Gitのインストール
冒頭でお伝えした通り、GitHubを利用するにはGitのインストールが必要です。まずは、公式サイトからGitのインストーラをダウンロードし、指示に従ってインストールしましょう。お使いのパソコンのOSに合わせたインストーラを選択してください。
2. GitHubのアカウント作成
次に、GitHubのアカウントを作成しましょう。GitHubは一般的なWebサービスと同じように、自分のアカウントでログインして使います。GitHubの公式サイトにアクセスし、「GitHubに登録する」から、指示に従ってアカウント作成を進めましょう。

GitHubのアカウント作成には、メールアドレスとパスワードが必要です。メールアドレスは、アカウント作成時のメール認証だけでなく、初期設定でも使います。パスワードは安全な場所に保管し、忘れないようにしてください。
関連記事
・GitHub公式サイト【外部サイト】
3. Gitの初期設定
次に、Gitの初期設定を行います。具体的には、Gitで使うユーザー名とメールアドレスの登録が必要です。登録した情報は、変更履歴を記録する際やコードレビューの通知を送る際などに使われます。
Gitの初期設定は、「git configコマンド」を用いることで可能です。Windowsの「コマンドプロンプト」やmacOSの「ターミナル」で、次のように実行しましょう。
git config --global user.name "GitHubで設定したユーザー名" git config --global user.email "GitHubで設定したメールアドレス" |
4. GitHubの2要素認証
最後に、GitHubの2要素認証を設定しましょう。簡単にいえば、パスワード以外に「第2の認証手段」を設定する必要があります。現在のGitHubではセキュリティ強化のため、2要素認証が義務付けられています。詳細は公式サイトを参照してください。
2要素認証の手軽な設定方法は、「Google Authenticator(Android版/iOS版)」などの認証アプリを使うことです。認証アプリをモバイル端末にインストールし、QRコードのスキャンや認証コードの入力によって設定できます。
以後、GitHubを利用する際には、パスワードと「第2の認証手段」を用いてログインしましょう。
GitHubの基本的な使い方

GitHubを使い始める準備が済んだ後は、実際に使ってみましょう。ここでは、GitHubの基本的な使い方を、次の5つに分けて簡単に紹介します。
- リモートリポジトリの作成
- ローカルリポジトリとの接続
- ファイルやフォルダの管理
- プロジェクト管理
プルリクエスト
リモートリポジトリの作成
GitHubでファイルを管理する際には、リモートリポジトリの作成が必要です。リモートリポジトリとは前述のように、GitHub上のファイル保管庫を指します。
リモートリポジトリの作成は、GitHubログイン時に表示されるダッシュボード画面から行えます。ダッシュボード画面の左上にある「New」または「Create repository」をクリックすればOKです。

リモートリポジトリ名と公開・非公開(Public/Private)を設定すれば、リモートリポジトリを作成できます。リモートリポジトリを公開したくない場合は、必ず「Private」を指定しましょう。
ローカルリポジトリとの接続
GitHub上のリモートリポジトリに対して、直接ファイルやフォルダを追加することは推奨されません。プロダクト制作の流れでは、ローカル環境のファイル保管庫である「ローカルリポジトリ」で開発した変更を、リモートリポジトリに入れていくのが基本です。
よって、作成したリモートリポジトリと、自分のパソコンにあるローカルリポジトリを接続する必要があります。この操作は、初期設定のときと同様にGitコマンドを使います。前提としてローカルリポジトリの作成が必要ですが、主な方法は次の2つです。
- 自分のパソコンで作成したローカルリポジトリを、GitHub上にプッシュ(アップロード)する(git pushコマンドを使用)
- リモートリポジトリからローカルリポジトリを複製する(git cloneコマンドを使用)
ここでは、より簡単な2つ目の方法を紹介します。以下のようにgit cloneコマンドを使えば、自分のローカル環境にリモートリポジトリのコピーを作成可能です。
git clone https://github.com/自分のユーザー名/リモートリポジトリ.git [複製先のローカルパス] |
複製したい場合、この操作だけでリモートリポジトリとローカルリポジトリが接続されます。ただし、[複製先のローカルパス]にファイルやフォルダがすでに存在すると、正しく複製できません。git cloneを行う場合は、複製先のフォルダを事前に新規作成しておくことをおすすめします。
ファイルやフォルダの管理
作成したリモートリポジトリに対して、ファイルやフォルダを追加して管理できます。ローカルリポジトリに追加したファイルやフォルダを、「git pushコマンド」でGitHub上にプッシュ(アップロード)するのが基本です。ローカルリポジトリでの操作も各種Gitコマンドで行いますが、GitHub自体の操作とは異なります。
リモートリポジトリに格納されたファイルやフォルダは、バージョン管理によって過去の変更履歴をいつでも閲覧可能です。以下の時計マークの部分をクリックすれば、そのリポジトリに対して行われたコミット(変更記録)の履歴が時系列で表示されます。

プロジェクト管理
GitHubをプロジェクト管理に用いる場合、「Projectsタブ」と「Issuesタブ」を使います。Projectsタブでは、作成したプロジェクトを俯瞰し、全体の進捗状況を管理することが可能です。プロジェクトは「New project」から新規作成しましょう。

Issuesタブでは、各プロジェクトにおける個々のタスクを管理できます。タスクは「New issue」から新規作成しましょう。

これらのタブを活用すれば、タスクの消化状況や遅れの有無などを正確に把握できます。
プルリクエスト
チーム内でプロダクトの品質を保つための重要な機能として「プルリクエスト」があります。プルリクエストは、変更内容を関係者にレビューしてもらう機能です。GitHubでレビュー依頼を出すことを「プルリクエストを作成(発行)する」と表現します。
プルリクエストの作成にあたっては、事前にレビュー用の「ブランチ」の作成が必要です。ブランチとは、リポジトリ内のファイル一式を枝分かれさせ、個別に管理する機能を指します。レビュー用のブランチは、チームの正式なブランチをコピーして作ります。
適切か分からない変更内容を、いきなりチームの正式なブランチに加えるのは危険です。そのため、まずはレビュー用のブランチに変更内容を入れて、それをレビューしてもらいましょう。レビューの結果、問題がなければ変更を反映可能です。
プルリクエストの作成は、「Pull requestsタブ」の「New pull request」などから行います。Pull requestsタブには、作成されたプルリクエスト(レビュー依頼)がリストアップされます。

プルリクエストを作成すると、あらかじめ登録したチームメンバーにレビュー依頼が送られます。チームメンバーが変更内容をチェックし、承認された場合は、正式なブランチに変更をマージ(統合)します。このような手順を踏むことで、妥当な変更だけを正式なブランチに反映可能です。
まとめ

GitHubとは、Gitの仕組みを利用したオンラインのバージョン管理プラットフォームです。ファイルのバージョン管理やチームでの共同作業だけでなく、成果物やWebサイトの公開、プロジェクト管理などにも使えます。
GitHubには多くの機能があり、初めから完璧に使いこなすことは難しいです。初心者の方はGitHubを積極的に活用し、徐々に使い方を覚えていきましょう。GitHubをまだ使い始めていない方は、今回の内容をぜひ参考にしてみてください。