【GitHub(ギットハブ)の使い方 完全ガイド】専門用語の意味は?使用の手順は?料金形態は?githubの基本を徹底解説!

「GitHub(ギットハブ)って何?」

「どうやって使えばいいの?」

「利用にお金はかかるの?」

今や世界中で活用されているGitHub(ギットハブ)ですが、まだ活用した事の無いエンジニアの方、インストールはしたけど実際どのように使えばいいか理解できていないという方は多くいるでしょう。本記事では、そんな方々のために、githubの基本情報、使用する専門用語の解説、使い方の手順などを詳しくご紹介しています。

本記事の内容を正しくしっかりと理解することが出来れば、今後の開発における作業を大きく効率化させることが可能となるでしょう。個人での使用、チームを組み大人数での使用など、状況に合わせて最適な活用が可能なgithubについて、理解を深めつつスキルを高めていきましょう。

GitHub(ギットハブ)とは?

開発に携わる方にとってなくてはならないのがこの「GitHub(ギットハブ)」です。しかし、プログラミングが初めてという方にとっては、あまり馴染みがなく何のことだか良く分からないなんて悩んでしまう事もあるでしょう。

このgithubは、開発環境を支援するためのWebサービスを指し、簡単に言うとコード管理するためのツールの事です。ソースコード更新を行ったバージョン管理、閲覧、SNS機能、バグの追跡機能などが備わっています。githubを使用してソースコードの管理をしているという企業も少なくありません。

後程詳しくご紹介致しますが、githubには無料版と有料版の2つのパターンがあります。これまでは無料版の場合、機能の制限などがありましたが、2020年は無料であっても主要機能が使用できるようになったことで、今まで以上に費用対効果が高くさらに使いやすいサービスへと進化していきました。

gitとGitHub(ギットハブ)

まず、GitHub(ギットハブ)を正しく把握するためにはgitについての知識を得ることが重要です。

gitはコマンドラインツールの1つであり、ソースコードのバージョンについて、いつ、だれが、どこで編集したのか?最新バージョンはどれか?といったような管理を行うツールとして作られました。gitの大きな特徴は「分散型」であるという点です。

ソースコード管理は他にも様々なツールがあり、メジャーなところで言えば「Subversion」が代表として挙げられるでしょう。しかし、gitは前述したように記録や追跡などの管理を分散型で行うため、修正履歴を整理しながらログを残すことが出来たり、ロールバックを簡単に行えるようになるなど、エンジニアには欠かせないツールとなっています。

githubとは、このgitのリポジトリをまとめたサービスであり、冒頭で紹介したように開発環境を支援するために、gitをより便利に使いやすくするために作られました。法人・個人問わずに誰でも利用することが出来るというのも大きな特徴の一つと言えます。

複数人での開発に威力を発揮!

開発を行う場合、複数人で作業を進めていくと様々な変更がその都度加えられていきます。GitHub(ギットハブ)を活用する事で、「誰が」「いつ」「なぜ」その修正を行ったのかという事が同時に記録されますので、機能追加やバグ修正、フィードバッグなども、簡単かつスピーディに行えるようになります。

さらに、チーム全員でプロジェクト進捗状況などが把握できるようになるため、開発作業における効率も格段にアップします。また、仮に自分自身が上書きを行う場合にも、変更点が重複しているというような場合は知らせてくれるため、知らない間に上書きしてしまうといったミスも防ぐことが出来ます。

使用する前に知るべき6つの事前知識を解説

GitHub(ギットハブ)を使用する場合、まずは専門用語についての情報をしっかりと理解しておく必要があります。使い始める前にここで紹介する言葉を正しく把握しておくことで、よりスムーズに、正しく活用できるようになります。

ローカルリポジトリとリモートリポジトリ

まず「リポジトリ」という言葉について解説いたします。リポジトリとは、GitHub(ギットハブ)でファイルやディレクトリを保存するスペースです。ローカルリポジトリとはローカル環境にあるディレクトリのリポジトリという事になります。ローカル環境とは、簡単に言えば使用しているパソコンの事を指します。つまり、使用しているパソコン内で管理するリポジトリがローカルリポジトリになります。ローカルリポジトリは、新しく作成を行ったり、複製しバグ修正や機能追加の実施が行えます。

リモートリポジトリとは、ローカルリポジトリとは異なり、インターネット上にあるリポジトリの事です。ネット上にファイルをアップロードし管理を行います。複数人で開発を行うという場合には、ローカルリポジトリで作業を行い、その作業内容をリモートリポジトリへプッシュするといった流れが基本となります。

コミットとプッシュ(commit / push)

GitHub(ギットハブ)で、最低限このコミットとプッシュは必ず覚えておきましょう。コミットとは、ファイル追加、変更などをリポジトリに保存する事になります。ゲームで言うところのセーブポイントと覚えておいて下さい。コミットは任意の状態で保存が出来、何個でも持つことが可能です。

プッシュとは、簡単に言えばアップロードです。ファイル追加や変更履歴などをリモートリポジトリと同期させ、自身のコミットを反映させます。チームを組んで複数人で開発を行っている際には、自分以外の誰かがプッシュして、プログラムに変更が加えられているという事もあります。

ブランチ(branch)

変更履歴の分岐を記録するものです。開発作業は、現在のバージョンのメンテを行いながらバグ修正や機能の追加を行う事があります。複数バージョンの管理を行うために必要なのがこのブランチです。履歴の流れを分岐させて記録しますので、オリジナルから分岐させたブランチは他のブランチの影響を受けることはありません。

開発メンバーが同時に行えるというのが大きな特徴です。先ほどもお話ししたようにそれぞれが独立しているため他ブランチの影響を受けることがありませんので、同じリポジトリ内であってもそれぞれの作業を問題なく進めていく事が可能となります。大本のデータがあれば、ブランチを合流させることでファイルを最初から作り直すことなく様々な修正を加えることが出来るようになります。

クローン(clone)

リモートリポジトリをコピーしてローカルを作成することを言います。このクローンを行う事により、githubにあるすべてのデータを完全にコピーする事が可能となります。クローンを行ったタイミングでの全く同じ環境のものをローカルに作成することが出来るので、他の人の影響を一切受けずに自身のパソコンで作業を行う事が可能となります。

プルリクエスト(Pull request)

ローカルリポジトリで自身が行った変更をオリジナルに反映させるための通知方法です。プルリクエストを行う事で、オリジナルの更新を依頼することが出来ます。github上で行う事が可能なため、スムーズに更新を行えるのも特徴的です。コードのプレビューをすることによって、一人では見逃してしまうようなバグやコード記述ミスなどを発見することが出来るため、質を向上させることが出来ます。

フォーク(fork)

フォークとは、自身のアカウント領域に既存リポジトリの複製を作成する機能の事を指します。その名の通り、食事のときに使用するフォークを思い浮かべて下さい。フォークの先端のように、複数に分けられている他の人のプロジェクトリポジトリをコピーし、自身のものへと改変していきます。フォークは、オリジナルへのアクセス権がないという場合であっても自身の場所に入れることにより編集することが出来るようになります。

GitHub(ギットハブ)の使い方

専門的な用語の知識を一通り覚えたところで、次に重要なのが当然GitHub(ギットハブ)の使い方になります。どのように始めればいいのか。どんな操作が必要なのか、その方法と手順を1つずつここで詳しくご紹介致します。まずその手順ですが、流れは以下のようになります。

  1. gitのインストール
  2. gitの初期設定
  3. githubのアカウントを作成する
  4. リモートリポジトリを作成する
  5. ローカルリポジトリを作成する
  6. ファイルを作成する
  7. ローカルリポジトリにコミットする
  8. リモートリポジトリにプッシュする

このように、手順の中でも先ほどご説明したようなコミットやプッシュと言った単語が出てきます。そのため、繰り返しになりますが、まずは専門用語の意味についてしっかりと理解をしたうえで始めるようにしましょう。曖昧なままでは、使い始めても適切な活用が出来ず、開発を効率よく進めていくことが出来ません。

まずはこうした専門用語をしっかりと把握し、スムーズな活用が出来るよう徹底した準備が必要です。そうすることにより、よりgithubの理解度が上がり、開発を効率よく進めていくことが出来るでしょう。それでは、手順の内容について1つずつ解説していきます。

1.gitのインストール

まずはgitをインストールします。まずここで注意すべきは、gitとgithubは同じものではないという点です。先にもご説明した通り、gitはコマンドラインツールとなり、githubはgitを用いた共有のウェブサービスです。簡単に言えば、gitはシステムとなり、そのgitを使用したサービスがgithubです。この違いはしっかりと頭に入れておき、「2つは別物である」という事を理解しておきましょう。

gitをインストールする場合、Macであれば標準装備されていますので、インストールの必要はありません。仮に、インストールされていない場合や最新バージョンにアップデートしたいという場合は「Download for macOS」からインストールを行ってください。Windowsの場合、Macと違い標準装備されていないので、「Git for Windows」からダウンロードしてインストールする必要があります。

2.gitの初期設定

インストールが完了したら次に初期設定を行います。自身のユーザー名、メールアドレスの登録を行ってください。この初期設定はインストールを行った後に一度だけ行えばOKです。何度もやる必要はありません。初期設定で登録した内容は、リポジトリに対してコミットを行った人物の情報として、履歴に表示されるようになります。パスワード設定は7文字以上で設定を行ってください。

3.GitHub(ギットハブ)アカウントの作成

初期設定が全て完了したら、githubのアカウントを作成します。公式サイトからアカウントの作成が出来るので、メールアドレス、パスワード、ユーザー名を登録してください。アカウント登録はこの3項目を設定すれば完了です。ここでプランを選択します。有料・無料がありますが、後々変更することも出来ますので、まずは無料で行うことをおすすめします。その後登録したメールアドレス宛に認証メールが届きますので、指示に従いながらユーザー認証を行えば登録完了になります。

4.リモートリポジトリを作成する

次に、リモートリポジトリを作成していきます。トップ画面から「Create Repository」をクリックし、作成画面に移動してください。作成したいリポジトリ名を入力し、種類を選びます。ソースコードの公開を行う場合は「Public」、ソースコードの後悔はしたくないという場合には「Private」を選んでください。

また、予めREADMEファイルの作成を行っておくという場合には、「Initialize this repository with a README」の項目にチェックをしておくのを忘れないようにして下さい。最後に「Create repository」のクリックで作成は完了です。リモートリポジトリのアドレスが次の画面で表示されるため保存しておくことを忘れないようにしましょう。

5.ローカルリポジトリを作成すする

Windowsの場合は「PowerShell」、Macの場合は「ターミナル」で操作を行っていくといいでしょう。ディレクトリの作成を行ったら、「git init」のコマンドでローカルリポジトリの作成をします。

6.ファイルを作成する

ファイルの新規作成をして、ローカルリポジトリに作成を行います。任意ファイルをディレクトリの「test」に作成をします。

7.ローカルリポジトリにコミットする

先ほど説明した通り、コミットとはセーブポイントのようなものになります。作成したファイルをコミットしていきます。ファイルの作成を行ったら、「git add」でファイルをインデックスにコミットしましょう。この作業を行う事で、「git」で管理を行うファイルの対象となります。ここまで行えばリポジトリの登録は完了となります。

8.リモートリポジトリにプッシュする

送信を行う前に、「git remote」でリモートリポジトリへファイルの追加をしておきます。URLはgithubで作成したURLを使用してください。次に「git push」コマンドでリモートリポジトリへ送信を行います。コードネーム、パスワードを聞かれたら最初に登録した内容で入力を行ってください。これでプッシュし反映させることが出来ます。

GitHub(ギットハブ)は「SNS機能」や「先進的機能」が優れている

GitHub(ギットハブ)は様々な機能が備えられていますが、特徴的なのがSNS機能や先進的機能が優れているという点です。githubが多くの方に活用され人気が高い秘訣はこの優れた機能が大きな要因と言えます。SNS機能が充実しているため、変更履歴やソースコードまで、情報を一元化する事によって、これまで以上によりスムーズで円滑なユーザー同士のコミュニケーションを取ることが可能となります。

さらに、githubは下記のような機能を持ち合わせています。

Codespacesマイクロソフト社のフリーソースコード編集ソフトをオンラインで利用できる。(Visual Studio Code)
GitHub Actionsソフトウェアの開発から公開までの一連の流れをサポートしてくれる機能
GitHub Projectsプロジェクトのイシュー、タスクなど一覧管理できる公式機能

これらは一例になりますが、他にも様々な機能が充実しているのがgithubです。開発機能の使いやすさに加え、このような多くの機能が充実している先進的サービスに、多くのエンジニアが魅力を感じ開発に取り入れています。

GitHub(ギットハブ)の料金プラン

GitHub(ギットハブ)は先ほどもご紹介したように、無料プランと有料プランの2パターンがあります。基本的に無料で使用することが出来ますが、当然有料プランとのサービスに差が生じてしまいます。無料プランでも十分な機能が備わっていますが、2つの違いについて詳しく見ていきましょう。

無料プランでの制限とは?

まず無料プランでは、共同編集者の数が3名までという制限があります。また、github Pages、wiki、Protected branches、オーナー権限変更が出来ないという点があります。個人での利用では特に不便な部分はありませんが、チームで開発を行うという場合は難しい部分が出てきてしまうかもしれません。

また、本記事の冒頭でもお話ししたように、以前はプライベートリポジトリが作れませんでしたが、今では非公開のリポジトリも作成する事が可能となりました。そのため、今までは保存したリポジトリが全て公開されていた状態でした。

自身で手掛けたコードを公開する代わりに無料で使用できたという事です。ですが、今では無料版でも非公開での作成が出来るようになったため、個人に利用者や小規模開発の企業などで幅広く無料プランが使用されるようになりました。

有料プランの種類

GitHub(ギットハブ)の有料プランは複数の料金形態があります。それが「個人プラン」と「企業・官公庁・教育向けプラン」の2種類になります。

個人プラン無料プラン:proプラン・7ドル/月
企業・官公庁・教育向けプラン25ドル/月

個人向けの場合、先ほどご紹介した無料プランと、有料月額7ドルのProプランがあります。無料プランの機能に加え、Actions3,000分、プライベートブランチ保護などの様々な機能などが用意されています。

企業・官公庁・教育向けのプランは複数人のチーム利用が想定されたプランの用意もあります。チーム作業で便利な機能が充実しており、快適な開発環境を作ることが出来るでしょう。また、このプランよりもさらに上位のEnterpriseプランがありますが、こちらの月額に関しては問い合わせを行う必要があります。

GitHub(ギットハブ)にまつわるニュース

GitHub(ギットハブ)は世界中で注目されているサービスにです。そのため、githubに関するニュースが各国で報じられています。その中には、素晴らしいものもあればトラブルになってしまったというものもあります。ここで、そんなgithubにまつわる日本国内のニュースをご紹介致します。

LINE Payの情報が流出

2021年12月、LINE Payはgithub上に13万人以上もの一部決済情報が公開状態になっていたと発表を行いました。即座に情報は削除し、公開ユーザーには個別での案内を行いました。特に大きな被害や影響などは確認されてはいません。閲覧が可能となっていた情報は「ユーザー識別をするための識別子」「加盟店管理番号」「キャンペーン情報」の3点になります。名前や電話番号、住所、クレジット番号などの情報が公開されていたという事はありませんでした。

この3つの情報が閲覧可能状態だった期間は、2021年9月12日から2021年11月24日までで、外部アクセスがその期間で11件確認されています。9月12日、業務の委託先従業員がポイントの付与漏れを調査をするために使用したプログラムと対象の決済情報を無断でgithubにアップロードしたというのが原因とされています。その後、11月24日にモニタリング業務で該当情報が検出され同日中に削除が完了しました。30日にはアクセス状況の調査も完了したという事です。

経産省がGitHub(ギットハブ)を利用し民間からの意見を募集

経済産業省と特許庁は、2021年9月にAIの技術や新素材などに関連する契約書の見本の改訂版を作成するにあたり、githubを利用し民間からの意見を募集しました。経産省は、モデル契約書ユーザーかどうかは問わず、改善に向けたフィードバックを広く募集するため、不特定多数が編集する事が可能となるgithubを選択したと言います。モデル契約書について、githubで意見を募集したのは今回2回目になり、1回目は60件程度の意見のみしか集まりませんでした。

1回目はMarkdown形式で編集できるモデル契約書を公開し、データに対して修正案を直接提案することが出来るPull Request機能で行いましたが、2回目はIssueを活用し、より多くの方々と議論を行うために変更したという経緯があります。今のところ3回目以降の実施はないとの事ですが、他分野でgithubを利用して意見の募集を行う可能性はあると話しています。

まとめ

開発環境の改善、スムーズな開発作業などに必須ともいえるgithub。最初は専門用語が多くあるため、初心者や初めて利用するという場合は戸惑う事もあるかもしれませんが、慣れてくれば非常に活用しやすいサービスと言えます。個人はもちろん、チームを組んでの開発など様々な状況に対応させることが出来ます。

githubの利用はエンジニアには欠かせないスキルの1つと捉えてもいいでしょう。場合によっては、転職などにも有利になることもあります。まずは実際に試してみることをおすすめします。このようなサービスの場合、文章での説明を見るよりも、実際に自分で使用した方が流れや特徴を掴みやすくなります。本記事を参考にしつつ、ぜひインストールして活用してみましょう。

Leave a reply:

Your email address will not be published.