連載
» 2017年02月27日 05時00分 UPDATE

こっそり始めるGit/GitHub超入門(10):GitHubを使うなら最低限知っておきたい、プルリクエストの送り方とレビュー、マージの基本 (1/2)

本連載では、バージョン管理システム「Git」とGitのホスティングサービスの1つ「GitHub」を使うために必要な知識を基礎から解説しています。今回は、ブランチ作成、README.mdファイルへの変更、GitHub上のリポジトリへの反映を行って、プルリクエストを作成し、レビューやマージを行う手順を紹介します。

[平屋真吾,クラスメソッド]

 本連載「こっそり始めるGit/GitHub超入門」では、バージョン管理システムGit」とGitのホスティングサービスの1つ「GitHub」を使うために必要な知識を基礎から解説していきます。具体的な操作を交えながら解説していきますので、本連載を最後まで読み終える頃には、GitやGitHubの基本的な操作が身に付いた状態になっていると思います。

 前回の記事「これでもう怖くない、Git/GitHubにおけるリモートリポジトリの作成、確認、変更、更新時の基本5コマンド」では「リモートリポジトリ」に対する基本操作を解説しました。

 連載第10回目の本稿では「プルリクエスト」の基本機能や手順について解説します。

 本稿で解説する作業は、前回の記事で作成したリポジトリをベースに進めていきます。リポジトリを作成する作業をまだ行っていない場合は、前回の記事を読みながら準備を進めてみてください。

プルリクエスト作成の準備

 ブランチ作成、README.mdファイルへの変更、GitHub上のリポジトリへの反映を行って、プルリクエストを作成する準備を行います。

ブランチ作成

 前回の記事で作成したリポジトリへ移動します。

$ cd /Users/hirayashingo/Documents/hello-git-9/hello-github
$ pwd
/Users/hirayashingo/Documents/hello-git-9/hello-github

 プルリクエスト用のブランチ「edit-readme」を作成し、このブランチに切り替えます。

$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working tree clean
$ git checkout -b edit-readme

 カレントブランチが「edit-readme」ブランチになりました。

$ git status
On branch edit-readme
nothing to commit, working tree clean

README.mdファイルへの変更

 「README.md」ファイルに1行追加し、git addコマンドでステージ、「git commit -m」コマンドでコミットします。

$ echo "Git連載記事の作業用のリポジトリです。" >> README.md
$ cat README.md
# hello-github
GitHubの機能を試すためのリポジトリです。
Git連載記事の作業用のリポジトリです。
$ git add README.md
$ git commit -m "リポジトリの説明をさらに追加"
[edit-readme 149d3a6] リポジトリの説明をさらに追加
 1 file changed, 1 insertion(+)

GitHub上のリポジトリへの反映

 git pushコマンドでリモートリポジトリへ反映します。以下のコマンドを実行すると、今回行った変更がリモートリポジトリ「origin」の「edit-readme」ブランチに反映されます。

$ git push origin edit-readme
Counting objects: 3, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 402 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To github.com:username/hello-github.git
 * [new branch]      edit-readme -> edit-readme

 これでプルリクエストを作成する準備が整いました。

プルリクエストを作成する

 ここでGitHub上のリポジトリページを表示してみましょう。以下のような表示になっているかと思います。

 「Your recently pushed branches:」という表示は、メインのブランチ(今回の場合はmaster)以外のブランチがpushされた場合、しばらくの間表示されます。

 「Compare & pull request」ボタンをクリックし、プルリクエスト作成ページへ移動します。

プルリクエスト作成ページの構成

 プルリクエスト作成ページを表示できました。ページの構成は以下のようになっています。

  1. ブランチ
  2. タイトル
  3. 概要
  4. 「Create pull request」ボタン
  5. コミットの履歴
  6. ファイルの差分

【1】ブランチ

 「マージ先ブランチ」と「プルリクエスト対象ブランチ」がここに表示されます。

 今回の場合、これから作成するプルリクエストが承認されると、「edit-readme」ブランチの内容が「master」ブランチへマージされることになります。

【2】タイトル

 プルリクエストのタイトルをここに入力します。

 今回のようにプルリクエストの対象となるコミットが1つだけの場合、タイトルの初期値はコミットコメントになります。

【3】概要

 変更内容、関連するイシューや資料へのリンクなど、レビュー担当者(プルリクエストを確認する人)へ伝えておきたいことをここに書きます。

 Markdown形式で記述すれば、文章を構造化することができます。

【4】「Create pull request」ボタン

 このボタンを押すとプルリクエストが作成されます。

【5】コミットの履歴

 プルリクエストの対象となるコミットがここに表示されます。

【6】ファイルの差分

 ファイルの変更箇所が、ここに表示されます。README.mdファイルに1行追加したことがよく分かるかと思います。

見出しとリスト項目1件をMarkdown形式で記入してプルリクエストを作成

 今回は以下のように、見出しとリスト項目1件をMarkdown形式で記入しました。

 「Preview」をクリックすると、どのように描画されるかを確認できます。

 「Create pull request」ボタンクリックしてプルリクエストを作成します。

 プルリクエストの作成が完了しました。作成したプルリクエストのページが表示されます。

 プルリクエストを作成する作業の解説は以上です。

       1|2 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。