悩めるWEB担当者様のための最新ノウハウをお届け

開発者・デザイナーにとって必須なGitHubとは?予備知識や利用手順まで詳しく解説!

GitHubとは?①

システム構築の際に、コード管理が難しいと感じたことはありませんか?
そこで活躍するのが「GitHub(ギットハブ)」というWebサービスです。

今回は、GitHubの概要から、Gitとの違い、利用法まで詳しく解説いたします。

>>UIUX改善でCVR2倍に?UIUXを改善したい方はまずは無料Web診断!

GitHubの概要

GitHubはWebサービスの名前で、Gitのホスティングサービスになります。
Gitのホスティングサービスは他にも「Bitbucket」や「Backlog」など複数存在します。

ここではGitとGitHubについて詳しく見ていきましょう。

Gitとは

Gitは、CUI(キャラクタユーザインタフェース)の一種で、ソースコードの変更履歴を管理する分散型のシステムとして開発されました。

Gitの特徴は、自分のパソコンなどの各ローカル環境が全ての変更履歴を含むリポジトリ(保管場所)のサーバーになるということです。
以前のバージョン管理システムでは、複数の利用者がサーバー上にあるひとつのリポジトリを共同で利用していました。
そのため、変更内容が衝突するなどの問題点がありました。
そこでGitを利用することにより、ローカル環境においてもコードの変更履歴を保存することができ、以前のように変更内容が混雑することがなくなりました。

GitHubは、このGitの仕組みを利用しているサービスです。

GitHubとは

GitHubは、2008年4月10日にリリースされ、ソフトウェア開発の際に利用されているプラットフォームです。
世界中のソフトウェア開発に利用されており、いまや1000万人のユーザーがいます。

GitHubを利用すると、開発者同士がプログラムコードやデザインデータなどを保存、共有することができます。
GitHubではソースコード以外にも、デザインデータや文書などのバージョン管理に利用されています。
ホワイトハウスや国土地理院など、行政機関の文書管理にも利用されており幅広い分野で活用されています。

次にGitHubの料金体系について解説いたします。

GitHubの料金

GitHubは、マイクロソフト傘下のGitHub社によって運営・保守されており、基本的には企業・個人問わず無料で利用できます。

ただし、GitHubに作成されたリポジトリ(保管場所)は全て公開(パブリックリポジトリ)されます。
そのためクライアント案件などを扱う際に非公開(プライベートリポジトリ)で管理をしたい場合は、有料プランを選択しなければなりません。

先述のGitホスティングサービスでは

▼GitHub

  • 基本:無料
  • 非公開:有料
  • 人数:無制限

▼Bitbucket

  • 基本:無料
  • 非公開:無料
  • 人数:5人まで

▼Backlog

  • 基本:有料
  • 非公開:有料
  • 人数:無制限

といった特徴がありますので、リポジトリの何を重視するのかによってGitホスティングサービスを選ぶと良いでしょう。

GitHubでは有料プランの場合(2020/12時点)、

  • 企業:月額$4/1ユーザー
  • 個人:月額$4

となっています。

詳しくはGitHubのホームページをご覧ください。

GitHubを利用する上で事前に知っておきたい基礎知識

GitHubを利用する前に理解しておきたい用語や操作を7点ご紹介します。

  • リポジトリ
       └リモートリポジトリとローカルリポジトリ
  • ブランチ
  • インデックス
  • コミットとプッシュ
  • フォーク
  • プルリクエスト
  • マージ

それぞれ詳しく見ていきましょう。

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

リポジトリとは、ファイルやディレクトリの状態を保存する場所のことです。

自分のPC上にあるリポジトリを「ローカルリポジトリ」、サーバーなどネットワーク上にあるリポジトリを「リモートリポジトリ」といいます。
基本的にローカルリポジトリで作業を行い、その作業内容をリモートリポジトリにアップロードする流れになります。

ブランチ

ソフトウェア開発の際、バージョンのメンテナンスを行いながら、新たな機能追加やバグ修正をすることがあります。
その際に役立つのが「ブランチ」という機能です。

「ブランチ」を利用することにより、作業を分岐させて履歴の流れを保存していくことができます。
例えば、ブランチを「本番環境用」「テスト環境用」「作業環境用01」「作業環境用02」と分けることで先祖還りなどのエラーを防いだり「作業環境用02」ブランチで行った作業を本番環境用に先に取り込みたいといったイレギュラーにも柔軟に対応することができます。
このように分岐したブランチは、他のブランチの影響を受けないので、各リポジトリ内でそれぞれの作業を行うことができます。

インデックス

「インデックス」とは、コミットしたいファイルをひとまとめにし、一時的に置いておく場所です。

ワークツリー(実際に作業しているディレクトリ)とリポジトリの間にインデックスを挟むことで、ファイルの一部をインデックスにあげ本当にこの内容でコミットしていいのかを確認することができます。

コミットとプッシュ

コミットとは、ファイルの追加や変更をリポジトリに保存することをいいます。
通常行われるファイル操作では、変更した内容を上書き保存すると、ファイルの内容が変更されます。
Gitの場合は、リポジトリに変更内容を登録(保存)するために「git commit」を使用する工程が加わります。

プッシュとは、ファイルの追加や変更をローカルリポジトリからリモートリポジトリにアップロードするための操作のことをいいます。

リポジトリをコピーできる「フォーク」

GitHubのアカウントを持っていると、自分のアカウント内のリモートリポジトリに、他ユーザーが作成したリポジトリの複製(コピー)を作ることができます。
この操作を「フォーク」といいます。

フォークされると、リポジトリの所有者にフォークされたことが通知されます。
フォークはあくまでオリジナルリポジトリへの貢献であって、好きなように利用するための機能ではないことに注意が必要です。

また、フォークは他ユーザーのリポジトリを直接編集するわけではなく、自分のアカウント内のリポジトリで編集しプルリクエストを行うことでオリジナルリポジトリの作者へ作業内容の提案が行われる仕組みになっています。

フォークと似た用語で「クローン」があります。
クローンはリモートリポジトリをローカルリポジトリに複製(コピー)することです。

フォークしたオリジナルリポジトリは自分のアカウント内のリモートリポジトリに複製(コピー)されるので、自分のアカウントのリモートリポジトリから「クローン」をすることでローカルリポジトリで作業できるようになります。

オリジナルのものに反映させる「プルリクエスト」

プルリクエストとは、開発者がローカルリポジトリ上で行った変更をリポジトリ所有者に対し変更内容の提案を行う機能のことです。
フォークをした場合はオリジナルリポジトリの所有者に対し「このような変更を行ったので取り入れてほしい」といった際に利用されます。
普段の開発では、開発者同士の作業内容でどちらを取り込むかをプルリクエストによって判断します。
また、リポジトリが分かれている際にこの変更をどのリポジトリに取り込むかといった判断に用いる場合もあります。

プルリクエストの機能は、多くの開発者のオープンソース開発参加を容易にしました。

自分のリポジトリに反映する「マージ」

ローカルリポジトリ上で変更されたコードをリモートリポジトリ上のコードに導入する操作を「マージ」といいます。

プルリクエストを受け取ったオリジナルリポジトリの所有者はマージボタンをクリックすることで、開発者のリポジトリに対して行われた変更を自分のリポジトリに取り入れることができます。

>>UIUX改善でCVR2倍に?UIUXを改善したい方はまずは無料Web診断!

GitHubの利用手順

それでは早速GitHubの利用方法について解説していきます。
GitHubの利用法を5ステップに分けて説明していきます。

  1. アカウントの作成
  2. リモートリポジトリの作成
  3. ファイルの作成・編集
  4. インデックスに追加されたファイルをコミットする
  5. ローカルリポジトリの変更をリモートリポジトリにプッシュする

今回は、視覚的に操作することができる「SourceTree」を用いてGitHubにコミットしていきます。

アカウントの作成

まずは、GitHubのトップページにアクセスしアカウントを作成します。
今回は無料プランで登録します。

アカウントの作成

次に、ユーザー名・メールアドレス・パスワードを登録します。

アカウントの作成

登録したメールアドレスに認証メールが届くので、ユーザー認証を行なってください。

アカウントの作成

以上で、アカウント登録は完了です。

リモートリポジトリの作成

GitHubにログインし、左上の「リポジトリを作成する」をクリックします。

リモートリポジトリの作成

表示された画面で、「リポジトリ名」と「説明」の箇所を入力します。「リポジトリ名」とはリモートリポジトリの名前、「説明」はリモートリポジトリの説明です。

次に、リポジトリの種類を選択します。
無料プランの場合は「公衆(Public)」(公開リポジトリ)になります。「民間(private)」は非公開リポジトリのことです。

リポジトリの中にあらかじめREADMEファイルを作成しておく場合は、「READMEファイルを追加する」にチェックを入れましょう。
なお、READMEファイルはあとから追加することもできます。.gitignoreやライセンスについても、リポジトリを作成した後でも変更ができるのでチェックを外しておきます。

リモートリポジトリの作成

最後に、「リポジトリを作成する」をクリックするとリモートリポジトリの作成は完了です。

リモートリポジトリの作成

ファイルの作成・編集

まず、GitHubトップページの「コード」の箇所を選択しURLを取得します。

ファイルの作成・編集

次に、SourceTreeの方でリモートリポジトリを手元のローカルリポジトリとしてコピーする「クローン」を実行します。
クローンを実行するためには、「新規リポジトリ」→「URLからクローン」を選択します。

ファイルの作成・編集

GitHubからコピーしてきたリモートリポジトリのURLを「ソースURL」に入力し、「保存先のパス」にローカルリポジトリを管理するパスを入力します。
完了したら、「クローン」をクリックします。

ファイルの作成・編集

インデックスに追加されたファイルをコミットする

リモートリポジトリで行った編集をローカルリポジトリに反映させるためには、「コミット」と「プッシュ」を行います。
まずコミットを行うためには、SourceTreeにある「コミット」を選択します。
「コミットするファイルを選択」→「コミットメッセージ入力」を終えたら右下の「コミット」ボタンをクリックします。

インデックスに追加されたファイルをコミットする

以上で「コミット」は終了です。

ローカルリポジトリの変更をリモートリポジトリにプッシュする

最後に、ローカルリポジトリの変更をリモートリポジトリに反映させる「プッシュ」を行います。

ファイルをプッシュするには、左上の「プッシュ」を選択します。
初めてプッシュを行う際は、GitHubのパスワードが必要ですので入力しましょう。

ローカルリポジトリの変更をリモートリポジトリにプッシュする

ローカルリポジトリの変更をリモートリポジトリにプッシュする

以上で「プッシュ」は終了です。

先程行った作業がGitHub上で確認できれば完了です。

ローカルリポジトリの変更をリモートリポジトリにプッシュする

まとめ

今回は、GitHubの概要から基本的な用語・利用方法までを解説いたしました。
GitHubに限らずGitのホスティングサービスは今や開発者に関わらず情報管理になくてはならないツールとなっています。

Gitには他にも様々な機能がありますので興味のある方はぜひ、GitHubでコード管理を行ってみてはいかがでしょうか。

>>UIUX改善でCVR2倍に?UIUXを改善したい方はまずは無料Web診断!


当サイトではこの他にもWebに関するお役立ち情報を多数ご紹介しています。
Web担当者の方、デジタルマーケティングに興味がある方はぜひご覧ください。


DIではGit等の情報管理から、webに関わる様々なベストソリューションを提供しております。
webサイトのお悩み・ご相談も受け付けておりますので、お気兼ねなくお問い合わせください!

関連記事

適切な運用・対策できてますか? 無料診断5点セット Google広告アカウント Yahoo!広告アカウント SEO webサイト LP 申し込みはこちら