Gitを使ってみよう!【プルリクエスト編】

Git

こんにちは、ECF Techブログ
担当 Michiです。

またまたGitシリーズ。これで第7回になります。Gitの花形機能ともいえるプルリクエスト編です。よろしくお願いします。

本記事は、Gitシリーズ連載記事の続編となっています。もし、最初からご覧になりたい方がいましたら、下のリンクをご活用ください。

Git
Gitの事を、学んで試せるページとなっています。初めてGitを利用される方に最適です。ぜひご活用ください。

対象読者

  • コマンドプロンプトのコマンドdircdなどが使える方
  • バージョン管理について知りたい方
  • Gitを使ったclonecommitpushをしたことがある

レビューをより効率的に

システム開発を行なうにあたり、ソースコードのレビューは欠かせません。

  • ソースコード:プログラムが書かれたファイル。
  • レビュー:プログラムを第3者の目で確認すること。

ですが、実際のシステム開発現場は多忙を極め、レビューが後手に回ることもしばしば。

今回ご紹介するプルリクエストは、そんなレビューの煩雑さを軽減し、効率よく行うためのしくみを提供するものです。

では早速やってみましょう。

C:\work01\hello_repoフォルダに移動し、新しいブランチを作るため、次のコマンドを実行します。

C:\work01\hello_repo>git checkout -b developD
Switched to a new branch 'developD'

git checkoutコマンドは、ブランチの移動をするものですが、-bオプションをつけることで、新規のブランチの作成そのブランチへの移動の2つの動作を行なってくれます。

program02.txtのファイルを開き、次のようにしましょう。

表示するための機能A
表示するための機能B
表示するための機能C
表示するための機能d-1
表示するための機能d-3

ファイルが編集できたら、コミットします。

C:\work01\hello_repo>git add .

C:\work01\hello_repo>git commit -m "機能Dを追加"
On branch developD
nothing to commit, working tree clean

C:\work01\hello_repo>

続いてリモートリポジトリへPushします。この時、リモート側のリポジトリはdevelopDとなることに注意しましょう。次のコマンドを実行します。

C:\work01\hello_repo>git push origin developD

実行結果

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), 372 bytes | 186.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
remote:
remote: Create a pull request for 'developD' on GitHub by visiting:
remote:      https://github.com/MichiharuT/hello_repo/pull/new/developD
remote:
To https://github.com/MichiharuT/hello_repo.git
 * [new branch]      developD -> developD

C:\work01\hello_repo>

無事成功しました。メッセージ中には「プルリクエストを作成しましょう。」というメッセージもあります。

作業フォルダでの作業は終わりです。

では次に、WebでGitHub上のリポジトリを開きます。「Compare & pull request」というボタンが確認できます。クリックします。

プルリクエスト作成ページです。コメントを記入し、「Create pull request」をクリックします。

これで、プルリクエストができあがりました。

ここからはレビューする人(レビュア)の作業です。本記事では1人のGitHubアカウントで動作させていますが、本来はレビュー権限を持つユーザが自身のアカウントで行います。

Pull requestタブを確認すると、次の画面を確認できます。「Review request」をクリックします。

レビュアは、ソースコード中にコメントを残していくことができます。+のボタンを押すと、その行に対するコメントを追記することができます。

「+」をクリックしたらメッセージを入力し、「Start a review」をクリックします。

必要なレビューが終わったら、「Finish your review」をクリックします。メッセージを入れるウィンドウが出るのでメッセージを入れ、「Submit review」をクリックします。

レビューが完了しました。pull requestの画面は次のようになります。

レビューを確認した作業者は自身のローカルリポジトリで修正を行ないます。

作業フォルダC:\work01\hello_repoに移動し、program02.txtを開いて、次のようにします。

表示するための機能A
表示するための機能B
表示するための機能C
表示するための機能d-1
表示するための機能d-2
表示するための機能d-3

再度コミットし、Pushします。

C:\work01\hello_repo>git add .

C:\work01\hello_repo>git commit -m "機能Dレビュー後修正"
[developD 9def43b] 機能Dレビュー後修正
 1 file changed, 1 insertion(+)

C:\work01\hello_repo>git push origin developD
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), 378 bytes | 126.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To https://github.com/MichiharuT/hello_repo.git
   79d0a12..9def43b  developD -> developD

C:\work01\hello_repo>

作業者はGitHubのページをブラウザで開き、再度コメントを記します。

ここからまた、レビュアの作業になります。
レビュアはPull requestの画面へ移動し、修正箇所を確認します。「表示するための機能d-2」が追加されていることを確認します。

内容を確認し問題がなければ、「Confirm merge」をクリックします。

マージが完了しました。「Delete branch」をクリックすると、該当ブランチ(ここではdevelopD)を削除することもできます。

これで一連のプルリクエスト関連作業が完了です。

おわりに

本日はここまでとさせていただきます。最後までご覧くださりありがとうございました。プルリクエストを活用することで、レビューを効率化し、よりよいプログラムの作成が進むといいですね。最近はレポートの提出と添削に活用することもあるとか。。。。

将来はマークダウンでレポート提出。なんていうのも素敵ですね。(笑)


合同会社イー・シー・エフでは、子ども向けプログラミングなどの教育講座を実施しています。プログラミング教室の案内や教育教材の情報、また関連するご相談・問い合わせにつきましては下記よりご確認ください。

ECFエデュケーション
タイトルとURLをコピーしました