Skip to main content

pull request の作成

リポジトリへの変更の提案や共同作業を行うには、pull request を作成します。 これらの変更は "ブランチ" を介して提案され、既定のブランチには完成していて、かつ承認された作業のみが確実に含まれるようにします。

この機能を使用できるユーザーについて

Anyone with read access to a repository can create a pull request.

Platform navigation

pull request 用に新しいブランチを作成する必要があり、リポジトリへの書き込みアクセス許可がない場合は、まずリポジトリをフォークできます。 詳細については、「フォークからプルリクエストを作成する」および「フォークについて」を参照してください。

プルリクエストを作成するとき、変更をどのブランチにマージするかを指定できます。 2 つのブランチ間で違いがある場合にのみ、プルリクエストをオープンできます。

Note

パブリック リポジトリの pull request を開くには、ヘッドまたはソース ブランチへの書き込みアクセス権が必要です。または、organization が所有するリポジトリの場合は、pull request を開くリポジトリを所有する organization のメンバーである必要があります。

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

ブランチの範囲と宛先リポジトリの変更

デフォルトでは、プルリクエストは親リポジトリのデフォルトブランチに基づいています。 詳しくは、「ブランチの概要」を参照してください。

デフォルトの親リポジトリが正しくない場合、親リポジトリとブランチをどちらもドロップダウンリストで変更できます。 また、基準点間の差分を確認するために、ドロップダウンリストで head ブランチと base ブランチを入れ替えることもできます。 ここで言う基準は GitHub リポジトリにあるブランチ名でなければなりません。

pull request のスクリーンショット。 比較ブランチを編集するドロップダウンが展開されています。

ブランチについて考えるときは、"base ブランチ" が変更を適用する "場所" であり、"head ブランチ" には適用する "内容" が含まれていることに注意してください。

base リポジトリを変更するとき、プルリクエストの通知も変更します。 base リポジトリにプッシュできる人は誰でもメール通知を受信し、次回サインインすると自分のダッシュボードで新しいプルリクエストを確認できます。

ブランチの範囲にある何らかの情報を変更すると、[Commits] と [Files changed] プレビュー領域は更新されて新しい範囲を表示します。

Tip

  • 比較ビューを使用して、どの時間枠であっても比較対象として設定できます。 詳しくは、「コミットを比較する」を参照してください。
  • プロジェクトメンテナーはプルリクエストテンプレートをリポジトリに追加できます。 テンプレートにはプルリクエスト本文にある情報のプロンプトが含まれます。 詳しくは、「Issueとプルリクエストのテンプレートについて」を参照してください。

プルリクエストの作成

  1. GitHub で、リポジトリのメイン ページに移動します。

  2. [Branch] メニューで、自分のコミットが含まれるブランチを選択します。

    リポジトリのメイン ページにあるブランチ ドロップダウン メニューのスクリーンショット。

  3. ファイルの一覧の上にある黄色のバナーで、 [比較と pull request] をクリックして、関連付けられているブランチの pull request を作成します。

    ファイルの一覧の上にあるバナーのスクリーンショット。

  4. 変更をマージする対象のブランチを [base] ブランチ ドロップダウン メニューで選択し、次に [compare] ブランチ ドロップダウン メニューを使用して、変更を行ったトピック ブランチを選択します。

  5. プルリクエストのタイトルと説明を入力します。

  6. レビューの準備が完了している pull request を作成するには、 [pull request の作成] をクリックします。 ドラフトの pull request を作成するには、ドロップダウンを使用して、 [ドラフトの pull request の作成] を選択し、 [ドラフトの pull request] をクリックします。 組織のメンバーである場合は、組織の所有者から下書きプル要求へのアクセスを要求することが必要になることがあります。 「pull requests について」をご覧ください。

Tip

pull request を作成したら、提案された変更のレビューを特定の人に依頼できます。 詳しくは、「Pull Request レビューをリクエストする」を参照してください。

pull request が確認されたら、リポジトリにマージできます。

Note

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
  1. [pull request のプレビュー] をクリックします。 GitHub Desktop では、現在のブランチとベース ブランチの間の変更の差分を示すプレビュー ダイアログが開きます。

    [ローカル変更なし] ビューのスクリーンショット。 [pull request のプレビュー] というラベルが付いたボタンがオレンジ色の枠線で強調表示されています。

    [ローカル変更なし] ビューのスクリーンショット。 [pull request のプレビュー] というラベルが付いたボタンがオレンジ色の枠線で強調表示されています。

    または、GitHub に直接移動して pull request を作成し、ドロップダウン アイコンを選んで、 [Pull request の作成] をクリックします。

  2. [base:] ドロップダウン メニューのブランチが、変更をマージするブランチであることを確認します。

    [pull request を開く] ダイアログ ウィンドウのスクリーンショット。 [base: development] というラベルが付いたドロップダウン アイコンが表示されているボタンがオレンジ色の枠線で囲まれています。

    GitHub Desktop では、現在のブランチがベース ブランチに自動的にマージできるかどうかを通知します。

    [pull request を開く] ダイアログ ウィンドウのスクリーンショット。 [自動的に結合できない] という状態ラベルがオレンジ色の枠線で強調表示されています。

  3. [pull request の作成] をクリックします。 GitHub Desktop はデフォルトのブラウザを開いて GitHub に移動します。

  4. プルリクエストのタイトルと説明を入力します。

  5. レビューの準備が完了している pull request を作成するには、 [pull request の作成] をクリックします。 ドラフトの pull request を作成するには、ドロップダウンを使用して、 [ドラフトの pull request の作成] を選択し、 [ドラフトの pull request] をクリックします。 組織のメンバーである場合は、組織の所有者から下書きプル要求へのアクセスを要求することが必要になることがあります。 「pull requests について」をご覧ください。

  1. リポジトリのローカル コピーに変更をコミットしたら、 [Create pull request](pull request の作成) アイコンをクリックします。
    [ソース管理] サイド バーの上部のスクリーンショット。 pull request アイコンが濃いオレンジ色の枠線で強調表示されています。
  2. マージ元のローカルブランチとリポジトリ、およびマージ先のリモートブランチとリポジトリが正しいことを確認します。 そして、プルリクエストにタイトルと説明を付けます。
    [GitHub pull request] サイド バーと pull request を作成するフォームのスクリーンショット。[タイトル] と [説明] のフィールドが表示されています。
  3. Create をクリックしてください。

GitHub Codespaces での pull request の作成については、「pull request で GitHub Codespaces を使用する」を参照してください。

pull request 内のファイルに変更を加える

pull request を開いた後、head ブランチに新しいコミットを追加することで、引き続きファイルに変更を加えることができます。

GitHub Web サイトでファイルを変更することもできます。

  1. GitHub で、リポジトリ内の pull request に移動します。

  2. pull request で、 [変更されたファイル] をクリックします。

    pull request のタブのスクリーンショット。 [変更されたファイル] タブが濃いオレンジ色の枠線で囲まれています。

  3. 変更するファイルまで下にスクロールします。

  4. 変更するファイルの上の をクリックします。

    [File changed] タブのファイルの上にあるオプションのスクリーンショット。[Show options] ボタンがオレンジ色の四角形で強調されています。

  5. メニューで [Edit file] をクリックします。

  6. エディターで変更を行い、変更をコミットするときに、head ブランチに直接コミットすることを選択します。

Copilot Workspace の パブリック プレビュー 段階の場合、[Files changed] タブのファイルで [Edit] をクリックすると、GitHub の Copilot Workspace でファイルが開きます。 Copilot Workspace では、ファイルに変更を加えるだけでなく、リポジトリ内の他のファイルに変更を加え、変更を 1 つのコミットにグループ化し、Copilot のコード補完を利用することもできます。

個々のファイルを編集するか、pull request の右サイドバーの [Open in Workspace] をクリックすると、Copilot Workspace にアクセスできます。 Copilot Workspace と、パブリック プレビュー への参加の詳細については、「Copilot を使って pull request に関する作業を支援する」を参照してください。

参考資料