Skip to main content

pull requests について

pull request を使用すると、他の人に対してあなたが GitHub Enterprise Cloud 上のリポジトリ内のブランチにプッシュした変更について知らせることができます。 pull request がオープンされると、変更がベース ブランチにマージされる前に、可能性のある変更についてコラボレーターと話し合い、レビューでき、フォローアップのコミットを追加できます。

pull requests について

メモ: pull request を使う際には以下のことを念頭に置いてください:

  • 共有リポジトリ モデルで作業している場合は、pull request にトピック ブランチを使用することをお勧めします。 ブランチあるいはコミットからプルリクエストを送ることもできますが、トピックブランチを使えば提案した変更を更新する必要がある場合、フォローアップのコミットをプッシュできます。
  • コミットを強制的に pull request にプッシュする場合は十分に注意してください。 プッシュを強制すると、リポジトリの履歴が変更され、pull request が破損する可能性があります。 他のコラボレーターが強制プッシュの前にプロジェクトを分岐すると、そのコラボレーターが作業のベースにしたコミットが上書きされる可能性があります。

pull request は、GitHub.com、GitHub Desktop、GitHub Codespaces、GitHub Mobile で、GitHub CLI の使用時に作成できます。

プルリクエストを初期化すると、あなたのブランチ(比較ブランチ)とリポジトリのベースブランチとの差異の高レベルの概要を示すレビューページが表示されます。 提案した変更の概要を追加したり、コミットによる変更をレビューしたり、ラベルやマイルストーン、アサインされた人を追加したり、個人のコントリビューターや Team に @mention したりできます。 詳細については、プル リクエストの作成に関するページを参照してください。

プルリクエストを作成したら、トピックブランチからコミットをプッシュして、それらを既存のプルリクエストに追加できます。 それらのコミットは、プルリクエスト内で時系列順に表示され、変更は"Files changed(変更されたファイル)"タブで見ることができます。

他のコントリビューターは、あなたが提案した変更をレビューしたり、レビューコメントを追加したり、プルリクエストのディスカッションにコントリビュートしたり、さらにはプルリクエストにコメントを追加したりできます。 デフォルトでは、パブリックなリポジトリにおいてはどのユーザもPull Requestの承認や変更リクエストをするレビューをサブミットできます。 Organization の所有者とリポジトリ管理者は、pull request レビューまたは要求の変更を承認できるユーザーを制限できます。 詳細については、「Organization での pull request レビューの管理」および「リポジトリでの pull request レビューの管理」を参照してください。

分岐の現在のデプロイ状態と過去のデプロイ アクティビティに関する情報は "Conversation" タブで確認できます。詳細については、リポジトリのデプロイ アクティビティを表示する方法に関するページを参照してください。

提案された変更に満足したなら、プルリクエストをマージできます。 共有リポジトリモデルで作業している場合は、プルリクエストを作成し、あなたか他のユーザが、プルリクエストで指定したベースブランチにフィーチャブランチからの変更をマージします。 詳細については、pull request のマージに関するページを参照してください。

リポジトリでステータスチェックが要求されているなら、必須のステータスチェックをパスしてからでないと保護されたブランチにあなたのブランチはマージできません。 詳細については、「保護されたブランチについて」を参照してください。

pull request をイシューにリンクして、修正が進行中であることを示し、誰かが pull request をマージしたときイシューを自動的にクローズすることができます。 詳細については、「pull request を Issue にリンクする」を参照してください。

ヒント:

  • pull request で古いレビュー コメントを折りたたむか、展開するには、OptionAltAlt を押したまま、 [Show outdated](期限切れを表示) または [Hide outdated](期限切れを非表示) をクリックします。 その他のショートカットについては、キーボード ショートカットを参照してください。
  • プルリクエストをマージする際には、変更を効率的に見ることができるようにするためにコミットを squash できます。 詳細については、「pull request のマージについて」を参照してください。

ダッシュボードにアクセスすれば、作業しているかサブスクライブしている最近更新されたプルリクエストへのリンクを素早く見つけることができます。 詳細については、個人用ダッシュボードに関するページを参照してください。

ドラフト プル リクエスト

ドラフト pull requests は、Organization およびレガシのリポジトリ単位のお支払いプラン向けの GitHub Free のパブリック リポジトリで利用できます。また、GitHub Team、GitHub Enterprise Server 2.17 以降、 および GitHub Enterprise Cloud のパブリック リポジトリとプライベート リポジトリで利用できます。 詳細については、「GitHub's products」を参照してください。

プルリクエストを作成する際には、レビュー可能なプルリクエストを作成するか、ドラフトのプルリクエストを作成するかを選択できます。 ドラフトのプルリクエストはマージできません。また、コードオーナーにはドラフトのプルリクエストのレビューは自動的にはリクエストされません。 ドラフトの pull request を作成する方法については、「pull request の作成方法」および「フォークからの pull request を作成する」を参照してください。

プルリクエストに対するフィードバックをもらう準備ができているなら、ドラフトのプルリクエストにレビューの準備ができているとマークできます。 プルリクエストにレビューの準備ができているとマークすると、コードオーナーたちからのレビューをリクエストすることになります。 プルリクエストはいつでもドラフトに変換できます。 詳細については、pull request のステージ変更に関するページを参照してください。

比較とプルリクエストページのコミットの違い

比較とプルリクエストページは、次のような異なる方法で、変更されたファイルの diff を計算します。

  • 比較ページには、head ref のヒントと、head およびベース ref の現在の共通の先祖 (マージベース) との diff が表示されます。
  • プルリクエストページには、プルリクエストが作成されたときの head ref のヒントと、head およびベース ref の共通の先祖との diff が表示されます。 したがって、比較に使用されるマージベースは異なる場合があります。

参考資料