GitHubとは?覚えておくべき7つの基礎知識や使い方を解説
GitHubとはどのようなサービス?
GitHubとは、開発プロジェクトのソースコードを管理できるWEBサービスです。GitHubにはソースコードを共有できる様々な機能があり、プロジェクトのソースコードの管理にかかるコストを削減できます。
ソースコードの公開や履歴の閲覧、バグ管理などの機能があり、開発者にとって、大変便利なサービスです。社内のみで公開し、社内のソースコードのバージョン管理に利用している企業もあります。
GitHubの覚えておくべき7つの基礎知識とは
ここではGitHubを使うために、覚えておくべき基礎知識を7つ紹介します。リポジトリやプッシュなど、GitHubを利用する際に欠かせない用語です。ぜひ覚えておきましょう。
GitHubの基礎知識1:リモートリポジトリ
リポジトリとは、ディレクトリやファイルの情報を保管する場所です。リポジトリの管理下にあるディレクトリやファイルを操作した変更履歴を記録し、ソースコードのバージョンを管理できます。
リモートリポジトリとは、GitHubなどを利用し、インターネット上に保存したリポジトリのことです。リモートリポジトリから開発者のローカルPCのリポジトリへ複製して作業でき、作業結果をリモートリポジトリへ同期できます。
GitHubの基礎知識2:ローカルリポジトリ
ローカルリポジトリとは、ローカル環境(自分のPC)にあるリポジトリのことです。新しく作成したり、リモートリポジトリから複製し、ローカルリポジトリ上でプログラムのバグ修正や機能追加を実施できます。
ローカルで作業した結果を共有したいときには、リモートリポジトリへアップロードし公開できます。他の開発者の作業内容をリモートリポジトリから取得することも可能です。
GitHubの基礎知識3:プッシュ
プッシュとは、ローカルリポジトリをリモートリポジトリへ同期し、自分のコミット(登録内容)を反映させることです。また、チームで開発している場合は、自分以外の人がプッシュして、リモートリポジトリのプログラムに変更が加えられている場合があります。
このときは、リモートリポジトリの変更内容をローカルリポジトリに同期できます。リモートリポジトリの変更をローカルに同期することをプルといいます。
GitHubの基礎知識4:コミット
コミットとは、ローカル環境にファイルやディレクトリの状況などの変更データを登録することです。ローカルリポジトリの変更内容をコミット(登録)し、GitHubにデータをプッシュ(送信)します。
コミットは、任意のタイミングでディレクトリの状況を保存できるので、バージョン履歴を残せます。また、ディレクトリの状態をコミットした時点に戻すこともできます。
GitHubの基礎知識5:ブランチ
ブランチとは、変更履歴の流れを分岐させて記録するものです。オリジナルの履歴(Master Branch)から枝分かれしたブランチは、他のブランチの影響を受けません。
リリース中のバージョンに影響を与えずに、バグ修正や追加機能を開発したいときなど、複数のブランチを作り、それぞれの開発を進められます。また、作業後に分岐させたブランチをオリジナルに統合することができ、マージ(統合)と言います。
GitHubの基礎知識6:プルリクエスト
プルリクエストとは、レビュワーにプログラムのソースコードの変更を通知し、オリジナルの更新を依頼する機能です。コードをレビューすることで、1人では見逃していたバグやコードの記述ミスなどの発見ができ、プログラムの品質向上につながります。
GitHubの基礎知識7:フォーク
フォークとは、GitHubの自分のアカウント領域に既存のリポジトリの複製を作る機能です。共有されていないリポジトリに対しては更新できませんが、フォークしたリポジトリでは作業の内容を更新することができます。
フォークした自分のリポジトリの更新を、既存のリポジトリへプルリクエストすることで、管理者へ更新内容を通知でき、リポジトリを共有しなくても共同開発が可能となります。
GitHubでできることとは
ここからは、GitHubでできることとは何か、「バージョン管理」と「ソースコード管理」という2つの点から解説いたします。GitHubはチームでのプログラミングに活用できるほか、WEBデザイナーやWEBライターのテキストデータなどの管理にも使われています。
それでは詳しく見ていきましょう。
バージョン管理できる
バージョン管理とは、プログラムのソースコードなどファイルの変更履歴を管理することです。ファイルの変更内容や追加などの情報の履歴を管理することで、以前の修正内容を確認したり、ある時点の内容に戻したりできます。
バージョン管理することで、バグが埋め込まれたバージョンを速やかに確認できたり、正常なバージョンに戻したりできます。
ソースコード管理できる
ソースコードをGitHubで共有することで、複数人での開発プロジェクトを効率的に進められます。GitHubには、情報を共有するだけでなく、プロジェクトの進行や課題の管理、ソースコードのレビューなど、チーム開発に威力を発揮する機能を備えています。
例えば、Issuesではソースコードの問題点やバグの再現手順などについて、タイトルやコメントを記録し、チームへの情報の周知や課題の進捗管理ができます。
GitHubの料金プランとは
GitHubは、無料プランと有料プランを選択できます。以前まで無料プランでは、共同作業者はパブリックリポジトリのみ無制限でしたが、プライベートリポジトリも無制限になりました。開発者の利便性が向上するよう常に料金プランは見直されています。
また、個人向けのプランだけでなく、Enterpriseなど企業向けのプランも存在します。最新の料金プランはGitHubサイトの「価格」からご確認ください。
無料プラン
無料(Free)プランは、パブリックリポジトリとプライベートリポジトリ、共同作業者(コラボレータ)も無制限で利用できます。コミュニティボードによるサポートを受けることもできます。
プライベートリポジトリでのGitHub Actionsは月間2,000分まで利用可能です。GitHub Packagesは月間500MBまで利用可能です。どちらもパブリックリポジトリでの利用は無料となっています。
Proプラン
Proプランは、現在はTeamプランに統合された有料プランです。Freeプランのすべての機能を利用でき、必須レビュワーやコードオーナーといった機能が追加され、1ユーザーあたり$4で利用可能です。
プライベートリポジトリでのGitHub Actionsは月間3,000分まで利用可能です。GitHub Packagesは月間2GBまで利用可能です。どちらもパブリックリポジトリでの利用は無料となっています。
基本的なGitHubの5つの使い方
ここでは、GitHubにデータを送信するための基本的な使い方を解説します。流れとしては、ローカルPCで開発した内容をローカルリポジトリのインデックスに追加し、コミットします。その後、ローカルリポジトリの内容をGitHub上のリモートリポジトリにプッシュします。
それでは詳しく見ていきましょう。
GitHubの使い方1:リポジトリの作成・複製方法
まずはリポジトリの作成です。GitHubにログインし、「New Repository」を押します。次の画面で、「Repository name」を入力し、「Public」または「Private」を選択し、「Create repository」を押すとリモートリポジトリが作成され、リポジトリのアドレスが表示されます。
既存のリポジトリのページにアクセスし、クローン(複製)を作成することもできます。
GitHubの使い方2:ファイルの作成・編集方法
ターミナルを利用し、以下のコマンドを入力します。まずは「mkdir {ディレクトリ名}」で新しくディレクトリを作成します。次に「cd {ディレクトリ名}」でディレクトリを移動します。上記コマンドの括弧の内容は任意のものにします。
最後に「git init」を実行すると、該当の場所にローカルリポジトリが作られます。このディレクトリ配下に、バージョン管理したいHTMLファイルなどを保存します。
GitHubの使い方3:ファイルのインデックスへの追加方法
先ほど作成したファイルをローカルリポジトリに追加するために、インデックスにファイルを追加します。インデックスとは、ローカルリポジトリにコミットするために、変更された内容を一時的に保存する領域のことです。
「git add {ファイル名}」のコマンドを実行し、インデックスに追加します。
GitHubの使い方4:追加ファイルをコミットするやり方
次は、インデックスに追加したファイルをコミットします。コミットとは、ファイルの追加や変更をリポジトリに登録する操作を意味します。インデックスに追加したファイルのみがコミット対象となります。
まずはローカルリポジトリへ変更内容をコミットし、その後GitHub上のリモートリポジトリへ変更を送信します。
ローカルリポジトリへコミットする
ターミナルで「git commit -m “{任意のメッセージ}”」を実行することで、コミットできます。コミットすることで、ローカルリポジトリにファイルの変更が登録されました。
コマンドの「-m」はコミットにメッセージを入力するためのオプションです。コミットメッセージを入力することで詳細な履歴を残せます。ログからコミットの履歴内容を確認するのに役立ちます。
GitHubの使い方5:リモートリポジトリへ反映させる
リモートリポジトリにコミット内容を反映させるために、リモートリポジトリのアドレス情報を紐付けます。このアドレス情報は、GitHub上でリモートリポジトリを作成した際に表示されていたものです。
ターミナルで「git remote add origin {リポジトリのアドレス}」を実行し、リモートリポジトリのアドレスを紐付けます。
ローカルリポジトリをプッシュするやり方
ローカルリポジトリの変更内容を、GitHub上のリモートリポジトリにプッシュ(送信)するために、ターミナルで「git push origin master」のコマンドを実施します。
GitHubのユーザー名とパスワードの確認があるので入力します。以上で、ローカルリポジトリの変更をGitHubのリモートリポジトリへ送信できました。
GitHubを使ってみよう
開発や制作の現場において、GitHubはチームプロジェクトを進める上で様々な機能によって、プロジェクト推進を効率化します。導入している企業も多く、GitHubを利用した経験があれば、採用時にも歓迎されるでしょう。
GitHubの基本的な機能のほとんどは無料で、すぐに試すことができます。GitHubを利用したことがない方は、アカウントを作成して試してみてはいかがでしょうか。