- 制作
- 更新日:
システム構築の際に、コード管理が難しいと感じたことはありませんか?
そこで活躍するのが「GitHub(ギットハブ)」というWebサービスです。
今回は、GitHubの概要から、Gitとの違い、利用法まで詳しく解説いたします。
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のアカウントを持っていると、自分のアカウント内のリモートリポジトリに、他ユーザーが作成したリポジトリの複製(コピー)を作ることができます。
この操作を「フォーク」といいます。
フォークされると、リポジトリの所有者にフォークされたことが通知されます。
フォークはあくまでオリジナルリポジトリへの貢献であって、好きなように利用するための機能ではないことに注意が必要です。
また、フォークは他ユーザーのリポジトリを直接編集するわけではなく、自分のアカウント内のリポジトリで編集しプルリクエストを行うことでオリジナルリポジトリの作者へ作業内容の提案が行われる仕組みになっています。
フォークと似た用語で「クローン」があります。
クローンはリモートリポジトリをローカルリポジトリに複製(コピー)することです。
フォークしたオリジナルリポジトリは自分のアカウント内のリモートリポジトリに複製(コピー)されるので、自分のアカウントのリモートリポジトリから「クローン」をすることでローカルリポジトリで作業できるようになります。
オリジナルのものに反映させる「プルリクエスト」
プルリクエストとは、開発者がローカルリポジトリ上で行った変更をリポジトリ所有者に対し変更内容の提案を行う機能のことです。
フォークをした場合はオリジナルリポジトリの所有者に対し「このような変更を行ったので取り入れてほしい」といった際に利用されます。
普段の開発では、開発者同士の作業内容でどちらを取り込むかをプルリクエストによって判断します。
また、リポジトリが分かれている際にこの変更をどのリポジトリに取り込むかといった判断に用いる場合もあります。
プルリクエストの機能は、多くの開発者のオープンソース開発参加を容易にしました。
自分のリポジトリに反映する「マージ」
ローカルリポジトリ上で変更されたコードをリモートリポジトリ上のコードに導入する操作を「マージ」といいます。
プルリクエストを受け取ったオリジナルリポジトリの所有者はマージボタンをクリックすることで、開発者のリポジトリに対して行われた変更を自分のリポジトリに取り入れることができます。
GitHubの利用手順
それでは早速GitHubの利用方法について解説していきます。
GitHubの利用法を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でコード管理を行ってみてはいかがでしょうか。
当サイトではこの他にもWebに関するお役立ち情報を多数ご紹介しています。
Web担当者の方、デジタルマーケティングに興味がある方はぜひご覧ください。
DIではGit等の情報管理から、webに関わる様々なベストソリューションを提供しております。
webサイトのお悩み・ご相談も受け付けておりますので、お気兼ねなくお問い合わせください!
自社サイトのウェブアクセシビリティ状況、診断してみませんか?
株式会社デジタルアイデンティティでは、ウェブアクセシビリティ診断サービスを提供しています。
2024年4月、障害者差別解消法の改正施行に伴い、2024年6月から一般企業にも「合理的配慮」が義務化されています。
これに伴い、努力義務である「環境の整備」に含まれるウェブアクセシビリティについても、対応を進める企業が増えています。
こんなお悩みはありませんか?
- どこからウェブアクセシビリティ対応に手をつければ良いかわからない…
- 今のサイトで問題のあるページを一覧化して欲しい…
- ウェブアクセシビリティの具体的な改善方法を知りたい…
WCAG2.2に準拠した診断項目・達成基準で、問題のあるページをリスト化してページ単位で問題点をリストアップ。
課題点が明確になるので、具体的な改善アクションに繋げることができます。
また、診断後の改善作業を弊社にワンストップでご依頼いただくことも可能です!
ぜひお気軽にご相談ください!