GitHubとはGitを利用したバージョン管理のウェブサービスだ。大変便利で使いやすいし、何より多くの人と連携がしやすいサービスだ。急激に成長していて、バージョン管理系のクラウドサービスでトップを走っている。
このページではGitHubとは、とその使い方についてご説明した。バージョン管理などの意味がわからない方でもリンク先を閲覧していただければわかるようにしているので、参考にしていただければと思う。
GitHubとは?
「GitHub」とはGitを利用したプログラムのバージョン管理を行うウェブサービスだ。プログラミングの一般用語ではなくて、Githubという企業が作っているひとつのサービスである。
GitHubでは数多くのOSS(オープンソースソフトウェア)が公開されており、様々なエンジニアがそのプロジェクトに参加してプログラムの開発に携わることもできる、次世代のソフトウェアを作るエンジニアが集う環境だと言っても過言ではない。
「GitHub」は「ギットハブ」と読み、「Hub」とは「中心」や「中枢」を意味する。文字通り、ソフトウェア開発の中枢となり得るウェブサービスだと言えるだろう。
ちなみに、よく「GitとGitHubの違いがわからない」という声を耳にするが、Gitは「バージョン管理システム」を意味している。GitHubは「Gitを使ったウェブサービス」と簡単に覚えておけばいいだろう。
Gitについては下記から確認できる。
GitHubアカウントを作成しよう
GitHubを利用するにはアカウントの登録が必要だ。まずはGitHubのサイトでアカウントを登録する手順を紹介しよう。
(1)アカウント基本情報の登録
GitHub
出典:GitHub
まずは以下の情報を入力し、「Sign up for GitHub」ボタンをクリックしよう。
・Pick a username:GitHubのユーザー名
・Your email address:登録するメールアドレス
・Create a password:パスワード
(2)プラン選択
GitHubには無料プランと有料プランがあるので無料プランを選択する。「Choose your personal plan」から「Unlimited public repositories for free.」を選択し、「continue」ボタンをクリックしよう。
ちなみに有料プランは月額7$で専用のリポジトリを無制限に作成することができる。本格的な開発を行う場合に検討すればいいだろう。
(3)アンケートの入力(出る場合がある)
アンケート入力画面が表示されたら、回答を入力して「Submit」ボタンをクリックしよう。
(4)登録完了
この画面が表示されるととりあえず登録手続きは完了だ。登録したメールアドレスに確認メールが送られるので、メールボックスを確認しよう。
(5)登録確認メール
このような登録確認メールを受信しているはずだ。「Verify email address」のリンクをクリックしよう。
(6)登録完了
画面上に「Your email was verified.」と表示されていれば登録完了となる。
ちなみに、登録完了していない状態でリポジトリを作成しようとすると、以下のような確認を促すメッセージが表示されるので、先に登録確認メールをチェックするようにしよう。
リポジトリの作成
それではGitHubで管理するリポジトリを作成してゆこう。
(1)プロジェクトの開始
先ほどの登録完了画面から「Start a project」ボタンをクリックすることでリポジトリの作成画面に進むことができる。ログアウトしている場合は、再度ログインすると同じ画面が表示される。
もちろん他のページからもプロジェクトはスタートできるので適宜そちらも利用して作成をしよう。
(2)リポジトリ情報の入力
・Repository name:リポジトリ名を入力
・Description:リポジトリの説明
・Public:無料プランの場合はPublicのみ利用のため、こちらを選択する。
ちなみに、「Initialize this repository with a README」をチェックしておくと、リポジトリ作成時にREADMEファイルが作成される。
必要な情報を入力したら「Create repository」ボタンをクリックしてリポジトリを作成しよう。
(3)作成完了
これでリポジトリの作成が完了だ。
「Quick setup」の欄に以下のような情報が表示されるので、URLなどの情報は控えておくようにしよう。
・Set up in Desktop:「GitHub Desktop」のダウンロードページに遷移
・HTTPS:作成したリポジトリにHTTPS経由で接続するアドレス表示
・SSH:作成したリポジトリにSSH経由で接続するアドレスを表示
GitHub Desktopのインストール
今回はGitHubのGUIツールである「GitHub Desktop」を利用しながら紹介しよう。
先ほどのリポジトリ作成完了画面で「Set up in Desktop」ボタンをクリックするか、以下のウェブサイトを表示してほしい。「Download GitHub Desktop」ボタンをクリックして、GitHub Desktopのインストーラをダウンロードしよう。
GitHub Desktop
(1)インストール
ダウンロードしたインストーラを実行すると、プログラムのダウンロードが開始される。
(2)アカウント情報の入力
GitHubに登録したメールアドレスとパスワードを入力し、「Log in」ボタンをクリックする。
(3)Git設定の登録
Gitコミットした際に表示される名前とメールアドレスの設定を行う。入力したら「Continue」ボタンで次に進もう。
(4)リポジトリの設定
自動的にローカルリポジトリを検索し、既に存在する場合はここに表示される。
今回はローカルリポジトリが見つからなかったので、「No local repositories found」となった。
リポジトリについては後ほど設定することにするとして、これでGitHub Desktopのインストールと初期設定は完了だ。
GitHubの使い方
それでは、GitHub Desktopを使ってGitHubを操作してみよう。
リポジトリのクローン
まずは最初に作成したGitHubのリポジトリをクローンしてみよう。GitHub Desktopを起動し、左上の「+」ボタンをクリックする。
吹き出しのようなメニューが表示され、「Add」「Create」「Clone」のそれぞれのメニューが表示される。それぞれのメニューで以下の事を実行できる。
・Add:既存のローカルリポジトリの追加
・Create:新規ローカルリポジトリの作成
・Clone:リポジトリのクローン
今回はクローンを行うので「Clone」をクリックしよう。
「Clone」を選択すると、ログインしているユーザーのリポジトリが表示されるので、クローンしたいリポジトリを選択して「Clone (リポジトリ名)」のボタンをクリックする。
リポジトリをクローンするフォルダをどこに作成するかを選択すると、選択したフォルダにクローンするリポジトリ名と同じ名前でフォルダが作成される。そのフォルダがローカルリポジトリとなり、実際にファイルの追加・変更・削除を行うフォルダとなる。
ファイルの編集とコミット
それでは、実際にファイルを追加してコミットまでを行ってみよう。
ローカルリポジトリに「test.html」という名前でファイルを追加してみた。
GitHub Desktopを開いてクローンしたリポジトリを選択し、画面上部の「Changes」を選択すると変更されたファイルの一覧が表示される。「1 change」となっているが、これはローカルリポジトリ上で1つのファイルが変更されていることを通知しているのだ。
「summary」欄にコメントを入力すると、画面下の「Commit to master」ボタンがクリックできるようになる。このボタンをクリックすると、ファイルがコミットされる。
これまでコミットしたファイルの履歴は画面上部の「History」をクリックすると、一覧表示される。ファイルにどのような変更が加わったかを確認するときにチェックしよう。
リモートリポジトリとの同期
さて、コミットするだけだとローカルリポジトリにファイルが登録されただけで、リモートリポジトリにはファイルが登録されていない。
リモートリポジトリとローカルリポジトリを同期することで初めて登録されるのだ。
それでは先ほどのファイルをリモートリポジトリに登録しよう。
リモートリポジトリと同期をするには、画面右上の「Sync」ボタンをクリックする。
この「Sync」ボタンだが、最初に同期する際は「Publish」と表示されるので覚えておいてほしい。
実際に同期できたかどうか、GitHubにアクセスしてみると、確かに先ほど作成したファイルが登録されているのが確認できた。
フォークとプルリクエスト
これまで紹介したように、GitHubにおいてはローカルリポジトリ上でのファイルの追加、編集、削除を行い、リモートリポジトリと同期を取るという流れで開発が進められる。しかしもうひとつ、GitHubを活用するうえで重要な機能を紹介しておこう。それが「Folk(フォーク)」と「Pull Request(プルリクエスト)」の機能だ。
フォークとは、Gitの機能ではなくGitHubの機能であり、他のエンジニアが持っているリポジトリを自分のGitHubアカウントにコピーしてファイルの編集を行うことができる機能だ。リポジトリが共有されていない場合、そのリポジトリに対してリポジトリの所有者以外のユーザーがファイルの修正を行うことができないが、フォークを行うことで所有者以外のユーザーもファイルの修正を行うことができるようになる。
ただ、他のユーザーもリポジトリのファイルを修正することができるとはいえ、それはあくまでもフォーク、つまり自分のアカウントにコピーしたリポジトリに対しての修正となるため、そのままではオリジナルのリポジトリに反映されない。
そこで、必要になるのがプルリクエストだ。プルリクエストを行うと、フォークしたリポジトリで行ったファイルの変更内容を、オリジナルのリポジトリを所有するユーザーに対してプルしてもらうように通知することができるのだ。
GitHubを利用したシステム開発ではこのような機能を使って開発が行われている。最初から全ての機能を使いこなそうとせず、まずはGitHubの操作に慣れることを目的に、リポジトリの作成、クローン、プッシュやプルといった基本的なことを押さえておくといいだろう。
特にプルリクエストは必ず使う機能になってくる。
まとめ
このページではざっくりとGitHubとは?とその使い方についてご説明してきた。GitHubにはもっともっとやれることがあり、非常に便利なウェブサービスだ。ぜひ様々トライして使い方を学んで行っていただければと思う。
コメント