チーム開発の中でコードを修正した際に必須のプルリクエストについてご紹介していきます。
また、作業開始~プルリクエスト~作業完了後の後処理までの一連の流れについてもお話します。
プルリクエストとは
自分がローカルリポジトリで作業して変更した修正をリポジトリに取り込んでもらえるように依頼する機能のこと
どんな目的があるのか
プルリクエストの目的は誰かが修正したコードをレビューなしで本番環境に反映させてしまうと思わぬエラーが発生してしまう場合があります。
そのようなことが起こらないようにプルリクエストを利用することで直接リポジトリを更新しないで、チームにお知らせをすることができる。
今回の修正箇所はどこなのか?
どのような修正をしたのか?
バグは発生していないか?
等を事前に確認することができコードの信頼性を担保できる。
プルリクエストまでの作業手順
プルリクエストの手順について実際に作業をしながら解説していきます。
まずは現在のブランチを確認する。*マークがついているmainブランチが現在のブランチとなる。
$ git branch -a
* main
sample
remotes/origin/hoge
remotes/origin/main
remotes/origin/sample
ワークツリーのmainブランチを最新の状態に更新する
git pullコマンドを利用して実行する。
$ git pull origin main
From https://github.com/ユーザー名/git_sample
* branch main -> FETCH_HEAD
Already up to date.
ブランチの作成
今回はbarという名前のブランチを作成して、そのブランチに切り替えられるcheckoutコマンドを使用。
$ git checkout -b bar
Switched to a new branch 'bar'
ファイルを変更してステージに追加
index.htmlファイルを編集してgit addコマンドでステージに追加します。
git add index.html
変更をコミット
git commitコマンドを使用してコミットしていきます。エディターが開いたらメッセージを追記して閉じます。
$ git commit
[bar 3b61c68] プルリクエストを追記
1 file changed, 1 insertion(+), 2 deletions(-)
barブランチをリモートリポジトリ(GitHub)にプッシュ
git pushコマンドを利用してbarブランチをpushします。
$ git push origin bar
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 4 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 333 bytes | 166.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
remote:
remote: Create a pull request for 'bar' on GitHub by visiting:
remote: https://github.com/ユーザー名/git_sample/pull/new/bar
remote:
To https://github.com/ユーザー名/git_sample.git
* [new branch] bar -> bar
確認のためgit branchコマンドを利用してリモートリポジトリにbarブランチが作成されているかを確認する
$ git branch -a
* bar
main
sample
remotes/origin/bar //作成されている!
remotes/origin/hoge
remotes/origin/main
remotes/origin/sample
プルリクエストを送る
ブラウザでGitHubにログインして自身のマイページから作業しているリポジトリを選択します。
Pull requestを選択して、New pull requestをクリックしてください。
baseと書いてある選択項目はベースとなるmainブランチのままにします。
compareの選択項目は今回プルリクエストを送るbarブランチを指定します。
変更したらCreate pull requestをクリックします。
プルリクエストのタイトルはコミットした際に記入したメッセージが自動で入力されています。必要に応じて書き換えてください。
その下に本文を記載します。レビュー依頼の旨や修正箇所や理由について簡潔に書きましょう。
入力が完了したらCreate pull requestをクリックします。
コードレビューを行う
画面が遷移したら右側にReviewersと表示されているのでこちらをクリックすると誰にレビューを依頼するかが表示されます。
今回はチームメイトがいないのですが、チーム開発の場合はこの中でメンバーを選択するとそのメンバーにプッシュ通知が表示されてレビューを依頼することができます。
プルリクエストをマージする
レビューが完了したらMerge pull requestをクリックして変更した内容をマージします。
作業ブランチを削除する
マージが完了したら、作業したブランチはもう必要がないのでDelete branchをクリックして削除します。
削除する際には対象が今回作業したブランチであることを確認しましょう。
私の場合は赤枠内に記載されている今回作成したbarブランチを削除します。
プルリクエストを反映後の作業
プルリクエストを反映させたらローカルの情報を更新する必要があります。git pullコマンドを実行してリモートリポジトリの情報を取り込みましょう。
git pull origin main
また、ローカルで作業していたbarブランチも併せて削除しておきましょう。
git branch -d bar
以上ですべての作業が完了しました。