PhpStorm 2024.3 ヘルプ

GitHub プルリクエストを操作する

プルリクエストは、オープンソースプロジェクトや一部の企業のワークフローで、コントリビュータからの変更を管理したり、変更がマージされる前にコードレビューを開始したりするために使用されます。

プルリクエストを作成すると、元のリポジトリにプッシュする変更内容を他のユーザーに伝えることができ、そのリポジトリのメンテナーが変更内容を確認し、議論して、ベースブランチに統合できるようになります。

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

  1. メインメニューで、Git | GitHub | プルリクエストの作成に移動します。プルリクエストドラフトを含むプルリクエストツールウィンドウが開きます。

    Pull Requests tool window with a new pull request

    または、プルリクエストツールウィンドウを開き、右上隅の Plus プルリクエストの作成をクリックします。

  2. 左側のリポジトリは、更新を受け取るベースリポジトリです。

    名前をクリックし、変更を適用するブランチを選択します。

    Base repository popup
  3. 右側のリポジトリは、ベースリポジトリに追加される変更を含むヘッドリポジトリです。

    名前をクリックし、適用する変更が含まれているブランチを選択します。

    Head repo popup

    複数のリモートリポジトリを使用するプロジェクトがある場合は、このポップアップでヘッドリポジトリも変更できます。

  4. からの変更点で、プルリクエストに含めるコミットを選択します。

  5. 任意のファイル名をダブルクリックして差分ビューを開き、送信しようとしている変更を確認します。

  6. プルリクエストの名前をタイトルフィールドに指定し、必要に応じて、リクエストによって適用される変更の説明を指定します。

  7. 必要に応じて、レビュー担当者を追加したり、プルリクエストを他のユーザーに割り当てたり、プルリクエストにラベルを追加したりします。

  8. プルリクエストの作成をクリックします。

    プルリクエストをプッシュする準備がまだできていない場合は、ドラフトとして保存できます。

    • プルリクエストの作成ボタンの横にある Chevron Down をクリックします。

    • 開いたメニューで、プルリクエストのドラフトを作成を選択します。

    プルリクエストは、GitHub リポジトリにドラフトとして表示されます。メインメニューで Git | GitHub | プルリクエストを表示を選択すると、後で戻ることができます。

pull_request_template.md ファイルがある場合、PhpStorm はプルリクエストにテンプレートの説明を追加する必要があります。テンプレートの詳細については、「GitHub のドキュメント(英語)」を参照してください。

受信プルリクエストを管理する

プロジェクトのメンテナーであり、プロジェクト用に GitHub リモートが設定されている場合は、受信したプルリクエストを PhpStorm から直接表示および管理できます。

受信したプルリクエストを表示するには、メインメニューで Git | GitHub | プルリクエストを表示を選択します。

GitHub Pull Requests tool window

プルリクエストツールウィンドウを使用して以下の操作を行います。

  • 状態別、作成者別、ラベル別、担当者別、レビューステータス別のリクエストのフィルター

  • GitHub でプルリクエストに移動する : プルリクエストを選択して、コンテキストメニューからブラウザーでプルリクエストを開くを選択します。

  • 提案された変更とベースリビジョン間のビューの差分 : プルリクエストの名前をクリックし、ファイルを選択してダブルクリックするか、Ctrl+D を押します。

  • 受信した変更に基づくローカルブランチの作成 : プルリクエストを開き、受信した変更を含むブランチをクリックして、コンテキストメニューでチェックアウト「ブランチ名」を選択します。

    Checkout branch with incoming changes
  • Git ツールウィンドウのログタブのブランチ関連の変化を調査する : プルリクエストを開き、受信した変更を含むブランチをクリックして、コンテキストメニューで Git ログに「ブランチ名」を表示するを選択します。

    これにより、このプルリクエストに関連するコードを移動し、プロジェクトがビルドされ、テストが合格することを確認できます。

  • マージの競合を解決する : 受信したプルリクエストのブランチにマージ競合がある場合は、ターゲットブランチからマージコミットを作成するか、ターゲットブランチにリベースすることで、プルリクエストツールウィンドウから直接競合を解決できます。

    Option to resolve merge conflicts

プルリクエストに関する最新情報を常に確認するには、Ctrl+F5 を押します。または、プルリクエストのリストを右クリックして、リストのリフレッシュを選択します。

プルリクエストを確認する

注意が必要な変更がある場合、プルリクエストツールウィンドウに白い点が表示され、表示されていないプルリクエストには青い点が表示されます。

A blue dot on the pull requests tool window icon
  1. メインメニューで、Git | GitHub | プルリクエストを表示に移動します。

  2. プルリクエストのリストで、操作するものを選択してダブルクリックします。

    PhpStorm は、選択したプルリクエストの概要を開きます。

    Tab with an overview of the selected pull request
    • タイトルの横にプルリクエスト番号があります。GitHub でプルリクエストを開きたい場合は、それをクリックします。

    • タイムラインの表示ボタンをクリックして、プルリクエストのタイムラインを開きます。

    • 変更されたファイルのリストをフィルタリングするには、からの変更点で調査するコミットを選択します。

    • 任意のファイルを右クリックして、このファイルのコンテキストメニューを開きます。

    • レビュー担当者がコメントや提案を残した場合は、ファイルのリストにコメント数のカウンターがあります。

  3. 変更が入ったブランチをクリックし、コンテキストメニューでチェックアウト「ブランチ名」を選択してレビューモードを開始します。

    Checkout branch with incoming changes
  4. 調査するファイルを選択し、右クリックしてコンテキストメニューからソースに移動 F4 を選択します。

    開いたファイルでは、ガター内のピンク色のマーカーが、レビュー可能な変更とコメントを示します。

    ガター内のコメントアイコンをクリックすると、コメントが非表示になったり開いたりします。

    Changes and comments in the review mode

    ピンクのマーカーをクリックすると、元のコードを表示するポップアップが表示されます。

    Review mode - view differences
  5. ガターの上にマウスを移動して をクリックするか、Ctrl+Shift+X を押してコメントを残します。

    提案については、言語として suggestion を指定して、Markdown コードブロックでラップされたコードのバージョンを追加してください。

    ```suggestion Your suggestion for this code line ```
    Comment field with a suggestion
    • すぐにコメントを投稿し、他のレビュー担当者に通知するには、単一コメントの追加を選択してください。

    • 複数のコメントを追加するには、レビューの開始を選択します。

      レビューを送信する前に、コメントに保留のマークが付けられ、編集または削除することができます。

  6. プルリクエスト全体に概要コメントを追加するには、このプルリクエストのタイムラインビューを開きます。

  7. レビューを終了する準備ができたら、プルリクエストの概要でサブミットをクリックします。

    After clicking submit, three options appear

    または、ブランチポップアップを開いて、レビューの送信をクリックします。

    考えられる結果の 1 つを選択します。

    • 承認する : マージする変更を承認します。

    • 変更のリクエスト : フィードバックを送信するには、プルリクエストの作成者は、マージする前に提案された変更を適用する必要があります。

    • コメント : 承認なしにコメントを送信すること。

提案された変更を表示して適用する

元のリポジトリのメンテナが変更に関してコメントを残したり提案したりした場合は、PhpStorm から直接表示して適用できます。

  1. メインメニューで、Git | GitHub | プルリクエストを表示に移動します。

  2. プルリクエストのリストで、操作するものを選択してダブルクリックします。

    PhpStorm は、選択したプルリクエストの概要を開きます。

  3. ファイルをダブルクリックして、提案された変更とコメントを表示します。

  4. コメントを解決したり、返信したり、反応を残したりすることができます。

    GitHub review comment
  5. レビュー担当者が提案を残している場合は、自分のコードと提案されたコードの差分が表示され、ローカルに適用 (作業コピーにパッチを適用する) またはコミット (コミットメッセージのポップアップを開く) のいずれかを実行できます。

    GitHub suggested change apply locally
  6. プルリクエストの作業が終了したら、レビューを再リクエストしたり、プルリクエストをマージしたり、クローズしたりできます。

プルリクエストをマージまたはクローズする

レビューを送信し、すべての問題を解決したら、プルリクエストをマージするか、クローズすることができます。

  1. メインメニューで、Git | GitHub | プルリクエストを表示に移動します。

  2. プルリクエストのリストで、操作するものを選択してダブルクリックします。

  3. 概要の下部には、レビュープロセスの段階に応じて異なるマージオプションのボタンがあります。

    Pull request overview with merge options
    • レビュー後に更新を承認した場合は、マージをクリックしてプルリクエストをマージできます。

      その他のマージオプションについては、the Down arrow をクリックし、スカッシュとマージを選択して変更を含むコミットを 1 つにまとめ、その後マージするか、リベースを選択してプルリクエストブランチからのコミットをリベースし、ベースブランチに追加します。

    • 詳細をクリックし、このプルリクエストについて別の意見が必要な場合はレビューのリクエストを選択し、マージしない場合はプルリクエストを閉じるを選択します。

    • レビューを送信せずにプルリクエストをマージする準備ができたら、プルリクエストの概要で 詳細 | マージのレビューをクリックし、マージスカッシュとマージ、またはリベースを選択します。

      Merge options available before submitting review