pull request 用に新しいブランチを作成する必要があり、リポジトリへの書き込みアクセス許可がない場合は、まずリポジトリをフォークできます。 詳細については、「フォークからプルリクエストを作成する」および「フォークについて」を参照してください。
プルリクエストを作成するとき、変更をどのブランチにマージするかを指定できます。 2 つのブランチ間で違いがある場合にのみ、プルリクエストをオープンできます。
pull request をイシューにリンクして、修正が進行中であることを示し、誰かが pull request をマージしたときイシューを自動的にクローズすることができます。 詳しくは、「Pull RequestをIssueにリンクする」を参照してください。
ブランチの範囲と宛先リポジトリの変更
デフォルトでは、プルリクエストは親リポジトリのデフォルトブランチに基づいています。 詳しくは、「ブランチの概要」を参照してください。
デフォルトの親リポジトリが正しくない場合、親リポジトリとブランチをどちらもドロップダウンリストで変更できます。 また、基準点間の差分を確認するために、ドロップダウンリストで head ブランチと base ブランチを入れ替えることもできます。 ここで言う基準は GitHub リポジトリにあるブランチ名でなければなりません。
ブランチについて考えるときは、"base ブランチ" が変更を適用する "場所" であり、"head ブランチ" には適用する "内容" が含まれていることに注意してください。
base リポジトリを変更するとき、プルリクエストの通知も変更します。 base リポジトリにプッシュできる人は誰でもメール通知を受信し、次回サインインすると自分のダッシュボードで新しいプルリクエストを確認できます。
ブランチの範囲にある何らかの情報を変更すると、[Commits] と [Files changed] プレビュー領域は更新されて新しい範囲を表示します。
Tip
- 比較ビューを使用して、どの時間枠であっても比較対象として設定できます。 詳しくは、「コミットを比較する」を参照してください。
- プロジェクトメンテナーはプルリクエストテンプレートをリポジトリに追加できます。 テンプレートにはプルリクエスト本文にある情報のプロンプトが含まれます。 詳しくは、「Issueとプルリクエストのテンプレートについて」を参照してください。
プルリクエストの作成
-
GitHub で、リポジトリのメイン ページに移動します。
-
[Branch] メニューで、自分のコミットが含まれるブランチを選択します。
-
ファイルの一覧の上にある黄色のバナーで、 [比較と pull request] をクリックして、関連付けられているブランチの pull request を作成します。
-
変更をマージする対象のブランチを [base] ブランチ ドロップダウン メニューで選択し、次に [compare] ブランチ ドロップダウン メニューを使用して、変更を行ったトピック ブランチを選択します。
-
プルリクエストのタイトルと説明を入力します。
-
レビューの準備が完了している pull request を作成するには、 [pull request の作成] をクリックします。 ドラフトの pull request を作成するには、ドロップダウンを使用して、 [ドラフトの pull request の作成] を選択し、 [ドラフトの pull request] をクリックします。 組織のメンバーである場合は、組織の所有者から下書きプル要求へのアクセスを要求することが必要になることがあります。 「pull requests について」をご覧ください。
ヒント: pull request を作成したら、提案された変更のレビューを特定の人に依頼できます。 詳しくは、「Pull Request レビューをリクエストする」を参照してください。
pull request が確認されたら、リポジトリにマージできます。
GitHub CLI の詳細については、「GitHub CLI について」を参照してください。
pull request を作成するには、gh pr create
サブコマンドを使用します。
gh pr create
pull request を個人に割り当てるには、--assignee
または -a
フラグを使用します。 pull request を自己割り当てするために @me
を使用できます。
gh pr create --assignee "@octocat"
pull request をマージするブランチを指定するには、--base
または -B
フラグを使用します。 pull request のコミットを含むブランチを指定するには、--head
または -H
フラグを使用します。
gh pr create --base my-base-branch --head my-changed-branch
新しい pull request のタイトルと本文を含めるには、--title
と --body
フラグを使用します。
gh pr create --title "The bug is fixed" --body "Everything works again"
pull request をドラフトとしてマークするには、--draft
フラグを使用します。
gh pr create --draft
新しい pull request にラベルまたはマイルストーンを追加するには、--label
と --milestone
フラグを使用します。
gh pr create --label "bug,help wanted" --milestone octocat-milestone
特定のプロジェクトに新しい pull request を追加するには、--project
フラグを使用します。
gh pr create --project octocat-project
個人またはチームをレビュー担当者として割り当てるには、--reviewer
フラグを使用します。
gh pr create --reviewer monalisa,hubot --reviewer myorg/team-name
既定の Web ブラウザーで pull request を作成するには、--web
フラグを使用します。
gh pr create --web
-
[pull request のプレビュー] をクリックします。 GitHub Desktop では、現在のブランチとベース ブランチの間の変更の差分を示すプレビュー ダイアログが開きます。
または、GitHub に直接移動して pull request を作成し、ドロップダウン アイコンを選んで、 [Pull request の作成] をクリックします。
-
[base:] ドロップダウン メニューのブランチが、変更をマージするブランチであることを確認します。
GitHub Desktop では、現在のブランチがベース ブランチに自動的にマージできるかどうかを通知します。
-
[pull request の作成] をクリックします。 GitHub Desktop はデフォルトのブラウザを開いて GitHub に移動します。
-
プルリクエストのタイトルと説明を入力します。
-
レビューの準備が完了している pull request を作成するには、 [pull request の作成] をクリックします。 ドラフトの pull request を作成するには、ドロップダウンを使用して、 [ドラフトの pull request の作成] を選択し、 [ドラフトの pull request] をクリックします。 組織のメンバーである場合は、組織の所有者から下書きプル要求へのアクセスを要求することが必要になることがあります。 「pull requests について」をご覧ください。
pull request 内のファイルに変更を加える
pull request を開いた後、head ブランチに新しいコミットを追加することで、引き続きファイルに変更を加えることができます。
GitHub Web サイトでファイルを変更することもできます。
-
GitHub で、リポジトリ内の pull request に移動します。
-
pull request で、 [変更されたファイル] をクリックします。
-
変更するファイルまで下にスクロールします。
- pull request に多くのファイルがある場合は、フィルターを使用してファイルを見つけることができます。 「プルリクエスト内のファイルをフィルタリングする」をご覧ください。
-
変更するファイルの上の をクリックします。
-
メニューで [Edit file] をクリックします。
-
エディターで変更を行い、変更をコミットするときに、head ブランチに直接コミットすることを選択します。