【GitHub】プルリクエストしてみよう

マージするときには、マージするブランチの変更内容の差分の確認を行ったり、
その内容について誰かに相談したいこともあるでしょう。

GitHub でプルリクエストすると、誰かにマージをお願いすることができ、
遠く離れた人にもマージ内容を確認してもらったり、相談することができます。

Linux 知識の要らない Git 講座 目次にもどる

ストーリー

ビジネスオーナー A さんと Web ディレクター B さん
ビジネスオーナー A さんと Web ディレクター B さん

ビジネスオーナーの A さんのお店のホームページの新しいバージョンを作成した
Web ディレクターの B さんは、
A さんに更新内容を確認してもらうためにプルリクエストすることにしました。

プルリクエスト作成フォームを開こう

手順

1. GitHub にアクセスします

https://github.com/ にアクセスします。

2. ページ左側 [Repositories] から前回プッシュしたリポジトリーをクリック
前回プッシュしたリポジトリーをクリック
前回プッシュしたリポジトリーをクリック
3. ページ左上 [New pull request] ボタンをクリック
ページ左上 [New pull request] ボタンをクリック
ページ左上 [New pull request] ボタンをクリック

すると、以下のようなページに遷移します。

新しいプルリクエストのページ
新しいプルリクエストのページ

このページは大きく分けて、上部のプルリクエスト作成フォームと
それ以降の変更内容の差分確認部分で構成されています。

プルリクエストを作成してみよう

プルリクエストするためのフォームは様々な機能がありますが、
ここではひとまずプルリクエストを作成することを目標にして
解説する項目を最低限にします。

プルリクエスト作成フォーム 1
プルリクエスト作成フォーム 1

手順

1. [Assignees] の歯車アイコンをクリックします
2. プルリクエストの担当者を選択します

[Assignees] はこのプルリクエストが誰に宛てたものかを入力します。
プルリクエストを作成したとき、ここで入力した GitHub ユーザーに
GitHub 上で通知されます。この [Assignees] は後でも変更可能です。

この例では、本来であれば A さんの GitHub アカウントを入力するべきですが
代わりに自分自身を入力しています。

3. タイトルを必要に応じて変更します

タイトルには、マージするブランチの最後のコミットのメッセージが
自動的に入力されます。
ブランチ全体の変更内容の概要がわかるよう、必要に応じて変更します。

4. 説明を入力します

説明は変更内容の意図や根拠を入力するように心がけます。
誰かからの依頼で行った変更の場合は、
依頼元なども入力しておくと後で確認しやすいでしょう。

また、この入力欄は「Markdown」という記法で入力するようになっています。
入力欄右下のアイコンをクリックすると
Markdown 記法の GitHub 公式ドキュメントを確認できます。

この Markdown 記法は最初から憶える必要はありません。
主要な記法は入力欄の上部にボタンとして用意されているので
こちらから入力すると良いでしょう。

Markdown 記法は GitHub 以外でも
様々なシステムやサービスで利用されていますが、
システムやサービスごとに「方言」があり、
たとえ他のシステムやサービスで使える記法でも
GitHub 公式ドキュメントに記載がなければ
表示に反映されないことに注意しましょう。

5. [Preview] タブをクリックします

説明の入力を終えたら、フォームを投稿する前に
[Preview] タブでどのように表示されるか確認しておきましょう。

プルリクエスト作成フォーム 2
プルリクエスト作成フォーム 2
6. どのように表示されるか確認します

この例では “-” で始まる行は箇条書きとして表示されています。

7. [Create pull request] ボタンをクリックします

想定どおりに表示されることが確認できたら
[Create pull request] ボタンをクリックします。

次のようなページに遷移したら、プルリクエストの作成は完了です。

プルリクエストのページ
プルリクエストのページ

プルリクエストのページの機能を確認しよう

プルリクエストのページも様々な機能が実装されていますが、
ここではプルリクエストの理解に必要不可欠な 3 つの機能のみ解説します。

コメント投稿フォーム

プルリクエストのページはスレッド形式になっていて、
コメント投稿フォームからコメントを投稿することができます。

このコメント投稿フォームには
プルリクエストを閉じるための [Close pull request] ボタンもあります。
このブランチの変更内容が不要になった場合や、
別のブランチをマージすることで要件が満たされる場合などは
このボタンでプルリクエストを閉じることができます。

プルリクエストを閉じるための [Close pull request] ボタン
プルリクエストを閉じるための [Close pull request] ボタン

変更内容の差分確認タブ

ページ上部の [Files changed] タブをクリックすると
マージする変更内容の差分を確認することができます。

[Files changed] タブをクリックするとマージする変更内容の差分を確認することができます
[Files changed] タブをクリックするとマージする変更内容の差分を確認することができます

プルリクエストをマージするボタン

[Merge pull request] ボタンをクリックすると
このマージを実行することができます。

[Merge pull request] ボタンをクリックするとこのマージを実行することができます
[Merge pull request] ボタンをクリックするとこのマージを実行することができます

プルリクエストをマージしてみよう

マージする前の、今のリポジトリーを PC にクローンして index.html を開くと
以下のようなページが表示されるはずです。

ブラウザの表示 マージ前
ブラウザの表示 マージ前

では、いよいよプルリクエストをマージしてみましょう。
[Merge pull request] ボタンをクリックします。

[Merge pull request] ボタンをクリックします
[Merge pull request] ボタンをクリックします

新たなフォームが表示されるので、 [Confirm merge] ボタンをクリックします。

[Confirm merge] ボタンをクリックします
[Confirm merge] ボタンをクリックします

フォームが次のような表示になったら、マージは完了です。

プルリクエストをマージした後の表示
プルリクエストをマージした後の表示

再度リポジトリーを PC にクローンして index.html を開くと
次のようなページが表示されれば成功です。

ブラウザの表示 マージ後
ブラウザの表示 マージ後

マージし終わったブランチを削除しよう

ところで、 クローンしたリポジトリーのログを確認すると
feature ブランチが残っていますが、
このブランチは master ブランチにマージされたので
ブランチを削除しても編集履歴は残り続けます。

クローンしたリポジトリーのログ
クローンしたリポジトリーのログ

ブランチが増えると管理が煩雑になるので
必要なくなったブランチは削除しましょう。

ローカルリポジトリーでも削除できますが、
先ほどのプルリクエストのページでマージした後の
[Delete branch] ボタンをクリックしてみましょう。

[Delete branch] ボタンをクリック
[Delete branch] ボタンをクリック

その後、 クローンし直すと 「origin/feature」ブランチはなくなっています。

ブランチ削除後、クローンし直したリポジトリーのログ
ブランチ削除後、クローンし直したリポジトリーのログ

以上でプルリクエストの作成とマージが完了しました。

Linux 知識の要らない Git 講座 目次にもどる

タイトルとURLをコピーしました