Git入門#16(プルリクエストをしてみよう)




cocomaru
今日はプルリクエストについて教えます!
hiromin
cocomaruのリポジトリへ私の修正を反映するようにお願いするってことでしょ?
cocomaru
っです!そこまで理解してたら大丈夫だと思うけど、プルリクエストの流れを図にするね^^
hiromin
プルリクエスト以外は、以前に教えてもらったからわかるー!!
cocomaru
うん、そうだね!今回、プルリクエストのやり方がわかったら、hirominもGitを使って、一通りの開発ができるようになるんじゃないかな?!
hiromin
じゃあ早速やってみよーー!!
…じゃない(・ω・;A)教えてくださいcocomaru先生(人゚∀゚)

プルリクエストって何?

こんにちは、cocomaruです。

今回は、いよいよ「プルリクエスト」のやり方について説明していきたいと思います。

プルリクエストは、自分がした変更を、リポジトリに取り込んでもらえるようにお願いする機能になります。

プルリクエストは何のためにある?

プルリクエストをする際に、コードレビューが通常行われます。

レビュー担当者は、プルリクエストされたコードが仕様を満たしているか、開発のルールに沿って実装されているか等、
バグのチェック・指摘やリファクタリングの提案を行います。

このコードレビューがあることにより、品質の高いコードを保つことができます。

ファイルを編集しよう

では、ここからプルリクエストをするために作業用ブランチを作成→ファイル編集→プルリクエストまでの流れを行います。

作業ブランチ作成

まずは作業用ブランチを作成してください。

# 作業用ディレクトリへ移動 
$ cd ~/Desktop/github-tutorial

# ブランチ作成 
$ git checkout -b feature/pull_request_practice
Switched to a new branch 'feature/pull_request_practice'

ファイル編集・コミット・プッシュ

次に、「new.html」を以下のように編集してください。

~/Desktop/github-tutorial/new.html
<p>git fetch練習用</p>
<p>git pull練習用</p>
<p>git push練習用</p>
<p>pull request練習用</p> <!-- 行追加 ※これはコメントですので記載しなくて大丈夫です。 -->

編集が完了したらコミットします。

# コミットして保存 
$ git commit -a -m "pull request用に行追加"
[feature/pull_request_practice 287ad7b] pull request用に行追加
 1 file changed, 1 insertion(+)

# リモートリポジトリへプッシュ 
$ git push origin feature/pull_request_practice
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 448 bytes | 448.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To github.com:hiromindayo/github-tutorial.git
 * [new branch]      feature/pull_request_practice -> feature/pull_request_practice

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

プッシュしたら、GitHubへアクセスします。
アクセスしましたら、以下の手順にそって進めてください。

プルリクエスト画面へ遷移

  1. 「Compare & pull request」ボタンを押下して次にいきましょう。

編集内容を記載してプルリクエストを作成

  1. マージしてほしいリポジトリを指定します。※今回は私のリポジトリ「cocolabo/github-tutorial」に指定します。
  2. 先ほど作業していたブランチ名が表示されています。
  3. 修正内容を説明欄に書き込みましょう。
  4. 書き込んだら、「Create pull request」ボタンをクリックしてください。

プルリクエスト完了

プルリクエスト直後は以下のような画面が表示されたら、プルリクエスト完了です!

ですが現時点では「この編集を取り込んでください!」と依頼しただけで、まだ私のリポジトリへは取り込まれていません。

プルリクエストを取り込んでみよう

ここからは私のアカウントでログインして、hirominのプルリクエストをマージして完了するところまで進めてみたいと思います!

プルリクエストの通知を確認

  1. プルリクエストがきた事が通知されてますので、クリックして遷移してください。

プルリクエスト内容を確認

  1. 内容を確認して、問題なければボタンをクリックしてください。

プルリクエストをマージ

  1. ボタンを押下するとマージされます!

マージ完了

マージが完了すると以下のように、マージ完了したことを示すマークが表示されます!

マージ後に取り込まれているか確認してみよう

無事、マージまで終わった後ので、次はcocomaruのリポジトリをプルして内容を確認してみましょう。

# cocomaruの作業用ディレクトリへ移動 
$ cd ~/Desktop/WorkDir/

# pull 
$ git pull origin master
remote: Counting objects: 7, done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 7 (delta 1), reused 5 (delta 0), pack-reused 0
Unpacking objects: 100% (7/7), done.
From github.com:cocolabo/github-tutorial
 * branch            master     -> FETCH_HEAD
   0f52327..9d10885  master     -> origin/master
Updating 0f52327..9d10885
Fast-forward
 new.html | 2 ++

# ログ確認 
$ git log --oneline -n 5
9d10885 (HEAD -> master, origin/master) Merge pull request #1 from hiromindayo/feature/pull_request_practice ← マージコミットが作成されている 
287ad7b pull request用に行追加 ← 編集コミットがマージされている 
0fd3355 push用に行追加 ← 編集コミットがマージされている 
0f52327 Update new.html
118a870 Update new.html

 1 file changed, 2 insertions(+)

ログからhirominの修正内容が取り込まれてた事が確認できましたね?!

プルリクエストの説明は以上になります!


hiromin
わーい!プルリクエスト終わったー!
cocomaru
良くここまで頑張ったね^^お疲れ様!
hiromin
cocomaruのおかげだよぉ…本当にありがとうヽ(*´□`*)ッ
cocomaru
どういたしまして^^今回で、Gitを使った開発の説明は一通り説明したかな?!
hiromin
え?!Σ(●゚д゚●)もう終わり?(´;ω;`)
cocomaru
いやまさか!まだまだ教えたい事いっぱいあるよー!でも、これまで教えた事をしっかり身につけたら、ほとんど困らなくなると思うよ♪だから、ちゃんと復習すること!
hiromin
そっかぁ^^うん!わかったー!!

今回で、だいたいGitを使った現場で使うコマンド等の説明はできたかなと思います。

これまでお付き合い頂き、本当にありがとうございました!!

ですが、まだまだGitの使い方は色々ありますので、今後もこのシリーズは続けていく予定です。
これからもどうぞよろしくお願いいたします!









コメントを残す

メールアドレスが公開されることはありません。