多くの開発現場でプログラムコードの管理に利用されているサービスである「GitHub」について、使うことによって何ができるか、実際にどのように使われているかを解説します。
「GitHub」は、プログラムコードやデザインデータ、ファイルの更新履歴を保存することによって、ファイルをバージョンごとに管理できるプラットフォームです。
多くの開発現場でプログラムコードの管理に利用されているため、「GitHub」を扱えることもエンジニアにとって必須のスキルといえます。
この記事では「GitHub」でできること、実際にどのように使われているかを解説します。
目次
そもそも「GitHub」とはどのようなものなのでしょうか?
まずは、「GitHub」を使うことによって何ができるのか、またどのようなメリットがあるのかについて解説します。
「GitHub」を使うことによって、プログラムコードをバージョンごとにわけて管理できます。
そのため、前のバージョンに戻って作業することや、現在のコード内容と前のコード内容を見比べ、プログラムコードの共有が可能です。
チーム内でプログラムコードを共有することによって、役割を分担したり最終的にコードを統合したりすることができ、効率よくチーム開発ができます。
さらに、自分が作ったプログラムをインターネット上に公開することも可能です。SNSのように、他人が書いたコードをお気に入り登録する機能もあります。
このように、エンジニアにとって便利なさまざまな機能を備えたプラットフォームが、「GitHub」です。
「Git」は単体だと「コマンドラインツール」といって、ターミナルでのコマンドで扱わなければならない機能です。それに対して「GitHub」は、ブラウザ上でコマンド入力しなくても操作できるため、より直感的に操作できます。
また、「GitHub」はインターネット上のサービスなので、よりリモートに特化しており、ローカル環境にあるコードをインターネット上で共有する機能も充実しています。
つまり、「GitHub」は『Git』をより使いやすくしたサービス」という位置づけです。
ここからは「GitHub」の使い方を解説する前に、「GitHub」で使われる用語について解説します。事前に専門的な用語を知っておくことで「GitHub」をよりスムーズに使えるため、しっかり確認しておきましょう。
リポジトリには、自分のパソコンの中にある「ローカルリポジトリ」と、インターネット上にある「リモートリポジトリ」という2つの種類があります。
基本的にWeb開発を行う際は、開発メンバー各々がローカルリポジトリの中で作業を行い、その作業の結果をリモートリポジトリにアップロードするという流れで開発が行われることが一般的です。
リモートリポジトリがあることで、細かいバージョン管理が可能になるほか、それぞれのメンバーが作成したソースコードを一元管理できます。さらに「いつ誰がどのようなコードを書いたのか」がチーム全体で共有できることから、プロジェクトの進捗管理がしやすいです。
リモートリポジトリはバックアップの役割も果たすことから、万が一ローカルで作業していたファイルを削除した場合でも、リモートリポジトリの履歴をさかのぼって、最も浅い履歴のものをローカルに取得することもできます。
「リポジトリ」とは、ディレクトリやファイルの状態を記録する場所のことです。
このリポジトリの中にあるファイルを変更した時、その履歴を記録することでバージョンとして管理できます。
またソースコードだけでなく、誰が、いつ、どのように編集したかという履歴も同時に保存されます。
これらの機能によって、よりコードの管理がしやすくなるのです。
「ブランチ」とは、作業履歴の流れを分岐させて保存していく機能のことです。
ほかのブランチに変更を加えたとしても分岐させたブランチは一切影響を受けないため、メンテナンスと並行してのバグの修正や、機能の追加ができます。
また、作業が終了したときに分岐させていたブランチをオリジナルのデータに統合させる「マージ」という機能により、低リスクで効率の良い開発が可能になるのです。
「コミット」とは、これまでのファイルの修正や追加をローカルリポジトリに記録させることによって、その時点でのバージョン履歴を残す機能のことです。
「プッシュ」とは、ローカルリポジトリの内容を最終的にリモートリポジトリにアップロードし、同期させることです。
また、自分以外の誰かがプッシュし、リモートリポジトリの状態が変化した場合、リモートリポジトリの変更内容をローカルリポジトリに同期させられます。このように、リモートリポジトリの変更内容をローカルリポジトリに同期させる機能をプルといいます。
「プルリクエスト」とは、ソースコードが変更されたことをソースコードをチェックする役割を担うレビュワーに通知し、オリジナルファイルの更新を依頼できる機能です。
ソースコードをレビュアーに確認してもらうことで、自分では気づけなかったコードの書き間違えや、バグなどを発見できます。また、本番用のソースコードを誤って上書きしてしまうといった人的ミスを予防できる効果もあります。
レビュワーも自分以外が書いたコードを見ることによって、コードの新しい書き方を発見することが可能です。
「フォーク」とは、自分の「GitHub」アカウント領域内に第三者のリポジトリを複製し、編集・改変していくことができる機能です。
ひとつのプロジェクトが、まるで食事のときに使うフォークの先端のように分岐して広がっていくことが、フォークという機能名の由来となります。
オリジナルファイルに対するアクセス権限・編集権限がない場合でも、自分のアカウント領域内にデータを取り入れることによって、編集することが可能となる機能です。
「インデックス」とは、実際に作業をしているディレクトリ(ワークツリー)とローカルリポジトリの中間にある、コミット前のデータを一時的に保管しておける場所のことです。「ステージング」と呼ばれることもあります。
インデックスはワークツリーからローカルリポジトリにコミットするまでの過程で、無駄なファイル交換を防ぐことができる仕組みのことです。
「GitHub」を使うときは、まず「Git」をインストールしなければいけません。インストール方法は、WindowsかMacかによって異なります。
【Windowsの場合】
gitのサイトに飛び、Downloadボタンを押すことによってインストーラをダウンロードできます。ダウンロードが終わったら、インストーラを起動してください。
【Macの場合】
ターミナルで、次のコマンドを入力してください。
パソコンにGitがインストールされていない場合、「コマンドライン・デベロッパツールをインストールしますか?」という表示がでるため、インストールします。
また、もしすでにGitがインストールされている場合は、Gitのバージョンが表示されるため、そのままターミナル上から「GitHub」を活用できます。
ここからは、「GitHub」の基本的な使い方を解説します。
ソースコードの管理やチームでの開発がしやすくなるため、使い方を覚えておきましょう。
まずは、「GitHub」のアカウントを作成します。以下のURLにアクセスしてください。
「GitHubに登録する」ボタンを押して、メールアドレス、パスワード、ユーザー名、お知らせメールの有無を設定します。
設定したメールアドレス宛に認証コードが届くので、画面にそのコードを入力しましょう。
以上で「GitHub」のアカウント作成は完了です。
リポジトリを作成するには、「GitHub」にサインインされた状態で「New Repository」ボタンをクリックしてください。
その後リポジトリ名を「Repository name」に入力し、必要に応じてリポジトリの説明文を「Description」に入力します。
また、リポジトリを公開するか非公開にするかの選択も可能です。公開したい場合は「Public」、非公開にしたい場合は「Private」を選択しましょう。
また、作成したリポジトリは、コマンドプロンプトかターミナルを用いて任意のディレクトリにアクセスし、以下のコードを実行します。ユーザー名やリポジトリ名は適宜、自分の環境の名称に置き換えてください。
以下が実行サンプルと複製されたフォルダが生成された結果です。
コマンドプロンプトを起動し、赤い下線のコードを実行したあと、該当のフォルダには「TestSample」のフォルダが生成されました。
まずはローカルリポジトリを作成しましょう。
Windowsの方はコマンドプロンプト、Macの方はターミナルを開き、任意のディレクトリに移動し、以下のコマンドを実行します。
コマンドを実行したあとに
という文字列が表示されれば、ローカルリポジトリの作成は成功です。
任意のディレクトリ名を指定してリポジトリを作成したい場合は、以下のコマンドを実行します。
git init [ディレクトリ名]
作られたディレクトリ内にファイルを置くことによって、そのファイルはローカルリポジトリのバージョン管理下に置かれます。
ブランチを作成するには、以下のコマンドを入力します。
続いて、以下のコマンドでアクセスするブランチを作成したブランチに切り替えます。
以上でブランチを作成し、切り替えることができました。なお、ブランチを作成し、作業を枝分かれにすることを「ブランチを切る」といいます。
ファイルをインデックスに追加するには、以下のコマンドを入力します。
以下のコマンドを実行することによって、複数ファイルをインデックスに追加することも可能です。
また、以下のコマンドで、現在のディレクトリ内にあるすべてのファイルをまとめて追加することもできます。
追加したファイルをローカルリポジトリにコミットするには、以下のコマンドを実行します。
-mコマンドは、コミット時に任意のメッセージを残すためのオプションです。ファイルの変更内容や、ファイルを何故変更したかなどメッセージを残しましょう。
リモートリポジトリにファイルを反映させるには、まず以下のコマンドを実行し、ローカルリポジトリとリモートリポジトリの紐付けを行います。
originはリモートリポジトリのアクセス先の名前です。任意で別の名前にもできます。
次に、ローカルリポジトリの内容をプッシュするために、以下のコマンドを実行しましょう。
「GitHub」のユーザ名とパスワードを求められるので、入力します。これでリモートリポジトリにローカルリポジトリの変更を反映させることができました。
「GitHub」には、個人開発向けの無料プランと、複数人でのチーム開発向けのプロプランが用意されています。ここからは、それぞれの違いについて紹介します。
「GitHub」では、無料プランであっても主要な機能の大半を利用できます。
プライベート(非公開)リポジトリかパブリック(公開)リポジトリかの選択も無料プラン内でできますが、プライベートリポジトリの場合は利用人数が3人までに制限されるため注意してください。パブリックリポジトリの場合は無制限です。
Teamプランでは、無料プランに含まれるすべての機能に加えて以下の機能が使用できます。
月額の利用料金は最初の12カ月は、1ユーザーあたり$44/年(1ドル140円の場合、6,160円)、13カ月目以降は1ユーザーあたり$48/年(1ドル140円の場合、6,720円)です。
個人で利用するだけの場合、無料プランでの利用で機能面の不足はほぼありません。
「GitHub」は多くの開発現場で使用されている、バージョン管理のサービスです。個人プランが非常に充実しているため、個人でも便利に活用できるサービスといえます。
「GitHub」を扱えるスキルは今やITエンジニアにとって必要なスキルといえるため、使い方を覚えてぜひ活用してみてください。
2024.06.17
子供におすすめのプログラミングスクール10選!学習メリットや教室選びのコツも紹介
#プログラミングスクール
2022.01.06
【完全版】大学生におすすめのプログラミングスクール13選!選ぶコツも詳しく解説
#プログラミングスクール
2024.01.26
【未経験でも転職可】30代におすすめプログラミングスクール8選!
#プログラミングスクール
2024.01.26
初心者必見!独学のJava学習方法とおすすめ本、アプリを詳しく解説
#JAVA
2024.01.26
忙しい社会人におすすめプログラミングスクール15選!失敗しない選び方も詳しく解説
#プログラミングスクール
2022.01.06
【無料あり】大阪のおすすめプログラミングスクール14選!スクール選びのコツも紹介
#プログラミングスクール
2024.01.26
【目的別】東京のおすすめプログラミングスクール20選!スクール選びのコツも徹底解説
#プログラミングスクール
2024.01.26
【無料あり】福岡のおすすめプログラミングスクール13選!選び方も詳しく解説
#プログラミングスクール
2024.01.26
【徹底比較】名古屋のおすすめプログラミングスクール13選!選び方も詳しく解説
#プログラミングスクール
2024.01.26
【徹底比較】おすすめのプログラミングスクール18選!失敗しない選び方も徹底解説
#プログラミングスクール