IntelliJ IDEAでGitHubのPull requestをレビューしてみた
これまでは、プルリクエストの初期サポートとして、プルリクエストの一覧を参照したり、コメントを表示したりと主にプルリクエストを表示する機能がサポートされていました。
今回のアップデート(IntelliJ IDEA 2020.2)で、GitHubプルリクエストの完全サポート
がリリースされたので、早速使ってみようと思います。
確認環境
- IntelliJ IDEA 2020.2(Ultimate Edition)
事前準備
IntelliJ IDEAにGitHubアカウントを登録していない場合は、登録する必要があります。 既存のアカウントを連携する場合は、以下の通りとなります。
[Preferences] → [Version Control] → [GitHub]
を開き、Add Account...
をクリックします。
ブラウザが立ち上がり、以下の画面が表示されるので、Authorize in GitHub
をクリックします。
GitHubへのアクセスの許可を求められますので、Authorize JetBrains
をクリックし、許可します。
これでGitHubアカウントを登録することができました。
今回は既存のアカウントをログインして追加する方法で実施しましたが、いくつかアカウントを連携する方法がありますので、詳しくは公式ドキュメントをご確認ください。
プルリクエストを作成
まずは、プルリクエストを作成します。修正用のブランチを作成し、コードを修正しコミットします。修正が完了したら、[VCS] → [Git] → [Create Pull Request]
を開き、必要事項を入力し、OK
をクリックすることでプルリクエストを作成することができます。
上記で作成したプルリクエストは、GitHub上では、以下のように作成されます。
プルリクエストのビューについて
先程作成したプルリクエストをIntelliJ IDEAで表示してみます。
一覧
プルリクエストを一覧で確認することができます。また、検索条件を指定して、条件に合致するプルリクエストを検索することもできます。
プルリクエスト
開く対象のプルリクエストをダブルクリックまたは、右三角アイコンをクリックすることで、プルリクエストを開くことができます。 プルリクエストの基本情報や更新内容の履歴、ソースのコミット履歴や変更内容などを確認することができます。
レビュー
ここからソースに対してコメントを入れたり、Conversationにコメント(プルリクにコメントするイメージ)を入れてレビューしてみます。
ソースにコメント
変更したファイルを開くことで、差分を確認することができます。差分に対してコメントを入れる場合には、+
マークをクリックし、Start a review with a comment
かAdd a single comment
を選択するとコメント入力欄にコメントを入れることができます。
コメントを登録すると以下のようになります。コメントに対してReplyしたり、コメント内容が解決した時は、Resolveすることで、レビューのやりとりをすることができます。
Conversationにコメント
GitHubのConversation
にコメントを入れる場合は、Conversations
を開くとコメントを入れたりReplyを入力したりすることができます。もしこのビューを閉じてしまったり、もう一度開きたい場合は、View Conversations
リンクをクリックすることで、開くことができます。
レビューの公開
Start a review with a comment
でレビューコメントを入力し、レビューの承認や変更要求を行う場合は、Submit Review...
からレビューをApprove
、Request Changes
、Comment
することができます。
Submit Review...
をする前のレビューコメントは、Pending
となっており、自分以外のユーザーはコメントが見えませんので注意が必要です。
マージ
一通りレビューを終えてマージをする場合は、Merge...
をクリックしてダイアログを表示し、コミットコメントを入力しMerge
ボタンをクリックすることでマージすることができます。
マージ方法についてはGitHub同様に3種類から選択することができます。
Create a merge commit
Merge
ボタンをクリックする(ドロップダウンメニューからは選択できません)
Squash and merge
- ドロップダウンメニューから
Squash and Merge...
を選択
- ドロップダウンメニューから
Rebase and merge
- ドロップダウンメニューから
Rebase and Merge
を選択
- ドロップダウンメニューから
GitHub上のマージ方法について - GitHub Docs
もしもコンフリクトが発生している場合は、コンフリクトを解決しないとマージができません。
さいごに
IntelliJ IDEAのGitクライアントも非常に使いやすいと思っていたのですが、GitHub連携も強化されて、更に使いやすくなりましたね。 使い慣れたエディタ上でソースレビューできるのは、思っていた以上に良かったので、是非使ってみてはいかがでしょうか。