GitHub プルリクエストを操作する
プルリクエストは、オープンソースプロジェクトや一部の企業のワークフローで、コントリビュータからの変更を管理したり、変更がマージされる前にコードレビューを開始したりするために使用されます。
プルリクエストを作成すると、元のリポジトリにプッシュする変更内容を他のユーザーに伝えることができ、そのリポジトリのメンテナーが変更内容を確認し、議論して、ベースブランチに統合できるようになります。
プルリクエストを作成する
メインメニューで、プルリクエストツールウィンドウが開きます。
に移動します。プルリクエストドラフトを含むまたは、プルリクエストツールウィンドウを開き、右上隅の プルリクエストの作成をクリックします。
左側のリポジトリは、更新を受け取るベースリポジトリです。
名前をクリックし、変更を適用するブランチを選択します。
右側のリポジトリは、ベースリポジトリに追加される変更を含むヘッドリポジトリです。
名前をクリックし、適用する変更が含まれているブランチを選択します。
複数のリモートリポジトリを使用するプロジェクトがある場合は、このポップアップでヘッドリポジトリも変更できます。
からの変更点で、プルリクエストに含めるコミットを選択します。
任意のファイル名をダブルクリックして差分ビューを開き、送信しようとしている変更を確認します。
プルリクエストの名前をタイトルフィールドに指定し、必要に応じて、リクエストによって適用される変更の説明を指定します。
必要に応じて、レビュー担当者を追加したり、プルリクエストを他のユーザーに割り当てたり、プルリクエストにラベルを追加したりします。
プルリクエストの作成をクリックします。
プルリクエストをプッシュする準備がまだできていない場合は、ドラフトとして保存できます。
プルリクエストの作成ボタンの横にある をクリックします。
開いたメニューで、プルリクエストのドラフトを作成を選択します。
プルリクエストは、GitHub リポジトリにドラフトとして表示されます。メインメニューで
を選択すると、後で戻ることができます。
pull_request_template.md
ファイルがある場合、PhpStorm はプルリクエストにテンプレートの説明を追加する必要があります。テンプレートの詳細については、「GitHub のドキュメント(英語)」を参照してください。
受信プルリクエストを管理する
プロジェクトのメンテナーであり、プロジェクト用に GitHub リモートが設定されている場合は、受信したプルリクエストを PhpStorm から直接表示および管理できます。
受信したプルリクエストを表示するには、メインメニューで
を選択します。プルリクエストツールウィンドウを使用して以下の操作を行います。
状態別、作成者別、ラベル別、担当者別、レビューステータス別のリクエストのフィルター。
GitHub でプルリクエストに移動する : プルリクエストを選択して、コンテキストメニューからブラウザーでプルリクエストを開くを選択します。
提案された変更とベースリビジョン間のビューの差分 : プルリクエストの名前をクリックし、ファイルを選択してダブルクリックするか、Ctrl+D を押します。
受信した変更に基づくローカルブランチの作成 : プルリクエストを開き、受信した変更を含むブランチをクリックして、コンテキストメニューでチェックアウト「ブランチ名」を選択します。
Git ツールウィンドウのログタブのブランチ関連の変化を調査する : プルリクエストを開き、受信した変更を含むブランチをクリックして、コンテキストメニューで Git ログに「ブランチ名」を表示するを選択します。
これにより、このプルリクエストに関連するコードを移動し、プロジェクトがビルドされ、テストが合格することを確認できます。
マージの競合を解決する : 受信したプルリクエストのブランチにマージ競合がある場合は、ターゲットブランチからマージコミットを作成するか、ターゲットブランチにリベースすることで、プルリクエストツールウィンドウから直接競合を解決できます。
プルリクエストに関する最新情報を常に確認するには、Ctrl+F5 を押します。または、プルリクエストのリストを右クリックして、リストのリフレッシュを選択します。
プルリクエストを確認する
注意が必要な変更がある場合、プルリクエストツールウィンドウに白い点が表示され、表示されていないプルリクエストには青い点が表示されます。
メインメニューで、
に移動します。プルリクエストのリストで、操作するものを選択してダブルクリックします。
PhpStorm は、選択したプルリクエストの概要を開きます。
タイトルの横にプルリクエスト番号があります。GitHub でプルリクエストを開きたい場合は、それをクリックします。
タイムラインの表示ボタンをクリックして、プルリクエストのタイムラインを開きます。
変更されたファイルのリストをフィルタリングするには、からの変更点で調査するコミットを選択します。
任意のファイルを右クリックして、このファイルのコンテキストメニューを開きます。
レビュー担当者がコメントや提案を残した場合は、ファイルのリストにコメント数のカウンターがあります。
変更が入ったブランチをクリックし、コンテキストメニューでチェックアウト「ブランチ名」を選択してレビューモードを開始します。
調査するファイルを選択し、右クリックしてコンテキストメニューからソースに移動 F4 を選択します。
開いたファイルでは、ガター内のピンク色のマーカーが、レビュー可能な変更とコメントを示します。
ガター内のコメントアイコンをクリックすると、コメントが非表示になったり開いたりします。
ピンクのマーカーをクリックすると、元のコードを表示するポップアップが表示されます。
ガターの上にマウスを移動して をクリックするか、Ctrl+Shift+X を押してコメントを残します。
提案については、言語として
suggestion
を指定して、Markdown コードブロックでラップされたコードのバージョンを追加してください。```suggestion Your suggestion for this code line ```すぐにコメントを投稿し、他のレビュー担当者に通知するには、単一コメントの追加を選択してください。
複数のコメントを追加するには、レビューの開始を選択します。
レビューを送信する前に、コメントに保留のマークが付けられ、編集または削除することができます。
プルリクエスト全体に概要コメントを追加するには、このプルリクエストのタイムラインビューを開きます。
レビューを終了する準備ができたら、プルリクエストの概要でサブミットをクリックします。
または、ブランチポップアップを開いて、レビューの送信をクリックします。
考えられる結果の 1 つを選択します。
承認する : マージする変更を承認します。
変更のリクエスト : フィードバックを送信するには、プルリクエストの作成者は、マージする前に提案された変更を適用する必要があります。
コメント : 承認なしにコメントを送信すること。
提案された変更を表示して適用する
元のリポジトリのメンテナが変更に関してコメントを残したり提案したりした場合は、PhpStorm から直接表示して適用できます。
メインメニューで、
に移動します。プルリクエストのリストで、操作するものを選択してダブルクリックします。
PhpStorm は、選択したプルリクエストの概要を開きます。
ファイルをダブルクリックして、提案された変更とコメントを表示します。
コメントを解決したり、返信したり、反応を残したりすることができます。
レビュー担当者が提案を残している場合は、自分のコードと提案されたコードの差分が表示され、ローカルに適用 (作業コピーにパッチを適用する) またはコミット (コミットメッセージのポップアップを開く) のいずれかを実行できます。
プルリクエストの作業が終了したら、レビューを再リクエストしたり、プルリクエストをマージしたり、クローズしたりできます。
プルリクエストをマージまたはクローズする
レビューを送信し、すべての問題を解決したら、プルリクエストをマージするか、クローズすることができます。
メインメニューで、
に移動します。プルリクエストのリストで、操作するものを選択してダブルクリックします。
概要の下部には、レビュープロセスの段階に応じて異なるマージオプションのボタンがあります。
レビュー後に更新を承認した場合は、マージをクリックしてプルリクエストをマージできます。
その他のマージオプションについては、 をクリックし、スカッシュとマージを選択して変更を含むコミットを 1 つにまとめ、その後マージするか、リベースを選択してプルリクエストブランチからのコミットをリベースし、ベースブランチに追加します。
詳細をクリックし、このプルリクエストについて別の意見が必要な場合はレビューのリクエストを選択し、マージしない場合はプルリクエストを閉じるを選択します。
レビューを送信せずにプルリクエストをマージする準備ができたら、プルリクエストの概要で マージ、スカッシュとマージ、またはリベースを選択します。
をクリックし、
関連ページ:
Git リポジトリのセットアップ
既存の Git リポジトリのクローンを作成するか、既存のプロジェクトを Git バージョンコントロール下に置くと、PhpStorm はコンピューターに Git がインストールされているかどうかを自動的に検出します。IDE が Git 実行可能ファイルを見つけられない場合、それをダウンロードすることを提案します。PhpStorm は、Windows10 バージョン 2004 で使用可能な Windows Subsystem for Linux 2(WSL2)の Git をサポートします。Git が...
GitHub プロジェクトをフォークする
GitHub でホストされているプロジェクトに貢献したいと思っていて、直接的にプッシュできない場合は、以下のワークフローを実行してください: 貢献したいプロジェクトのフォークを作成します。このフォークのクローンを作成して、ローカルリポジトリを作成します。元のプロジェクトのコピーに変更を加え、コミットしてプッシュします。作業の結果を共有する準備ができたら、フォークの同期を実行して、元のプロジェクトのメインブランチの現在の HEAD にフォークをリベースします。これは、フォークの作成後にプッシュされた...