{"meta":{"title":"プルリクエストをローカルでチェック アウトする","intro":"マージ競合を解決したり、変更をテストしたり、コードを修正したりするには、プルリクエストをローカルにチェックアウトします。","product":"Pull Request","breadcrumbs":[{"href":"/ja/pull-requests","title":"Pull Request"},{"href":"/ja/pull-requests/how-tos","title":"使い方"},{"href":"/ja/pull-requests/how-tos/review-pull-requests","title":"pull request をレビューする"},{"href":"/ja/pull-requests/how-tos/review-pull-requests/checking-out-pull-requests-locally","title":"PR をローカルでチェックアウトする"}],"documentType":"article"},"body":"# プルリクエストをローカルでチェック アウトする\n\nマージ競合を解決したり、変更をテストしたり、コードを修正したりするには、プルリクエストをローカルにチェックアウトします。\n\n> \\[!NOTE]\n> プル要求の作成者は、アップストリーム リポジトリの保守担当者、またはアップストリーム リポジトリへのプッシュ アクセス権を持つユーザーに、ユーザー所有のフォークで pull request の比較ブランチにコミットするアクセス許可を付与できます。 「[フォークから作成されたブランチへのプルリクエストの変更を許可する](/ja/pull-requests/how-tos/work-with-forks/allowing-changes-to-a-pull-request-branch-created-from-a-fork)」を参照してください。\n\n## アクティブなプルリクエストをローカルで修正する\n\n<div class=\"ghd-tool webui\">\n\n1. リポジトリ名の下にある \\[**pull requests]\\(プル要求<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-git-pull-request\" aria-label=\"git-pull-request\" role=\"img\"><path d=\"M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z\"></path></svg>** をクリックします。\n\n2. プル要求の一覧で、変更するプル要求をクリックします。\n\n3. pull request を開く場所を選択するには、 **<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-code\" aria-label=\"code\" role=\"img\"><path d=\"m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z\"></path></svg> Code** ドロップダウンを選択し、いずれかのタブをクリックします。\n\n![pull request タイトルのスクリーンショット。 ドロップダウン メニューを示す矢印が付いたボタン (\"コード\" というラベル) は、濃いオレンジで囲まれます。](/assets/images/help/pull_requests/open-with-button.png)\n\n</div>\n\n<div class=\"ghd-tool cli\">\n\n> \\[!NOTE]\n> GitHub CLI の詳細については、「[GitHub CLI について](/ja/github-cli/github-cli/about-github-cli)」を参照してください。\n\npull request をローカルでチェックアウトするには、`gh pr checkout` サブコマンドを使用します。\n`PULL-REQUEST` を、pull request の番号、URL、またはヘッド ブランチで置き換えます。\n\n```shell\ngh pr checkout PULL-REQUEST\n```\n\n</div>\n\n## アクティブではないプルリクエストをローカルで修正する\n\npull request の作成者が要求に応答しない場合、またはフォークを削除した場合でも、その pull request で提案された変更は、新しいプル要求を通じてマージできます。 ただし、変更を加える場合は、pull request を更新するための追加の手順を実行する必要があります。\n\npull request を開いた後、 GitHub はリモートですべての変更を格納します。 プル要求のコミットは、プル要求がマージされる前でもリポジトリで使用できます。 オープンなプルリクエストをフェッチして、自分のものとして再作成できます。\n\n誰でも、以前に開いた pull request を操作して作業を続けたり、テストしたり、追加の変更を加えて新しい pull request を開いたりすることができます。\n\n1. リポジトリ名の下にある \\[**pull requests]\\(プル要求<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-git-pull-request\" aria-label=\"git-pull-request\" role=\"img\"><path d=\"M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z\"></path></svg>** をクリックします。\n\n2. \\[ \\**Pull Requests]\\(プル要求\\** ) の一覧で、マージするプル要求をクリックします。\n\n3. アクティブではないプルリクエストの ID 番号を検索します。 プルリクエストのタイトルの直後にある数字の並びです。\n\n   ![pull request のタイトルのスクリーンショット。 pull request の ID 番号が濃いオレンジ色の枠線で囲まれています。](/assets/images/help/pull_requests/pull-request-id-number.png)\n\n4. ターミナルまたは Git Bash を開きます。\n\n5. ID 番号に基づいて、プル リクエストへの参照を取得します。 これにより、新しいブランチが作成されます。 pull request ID と、コマンドで作成するローカル ブランチの名前を使用します。\n\n   ```shell\n   git fetch origin pull/ID/head:BRANCH_NAME\n   ```\n\n6. このプルリクエストに基づく新しいブランチに切り替えます。\n\n   ```shell\n   [main] $ git switch BRANCH_NAME\n   > Switched to a new branch 'BRANCH_NAME'\n   ```\n\n7. このブランチに必要な変更を加えてください。 ローカル テストを実行したり、他のブランチをブランチにマージしたりできます。\n\n8. 準備ができたら、新しいブランチをプッシュしてください。\n\n   ```shell\n   [pull-inactive-pull-request] $ git push origin BRANCH_NAME\n   > Counting objects: 32, done.\n   > Delta compression using up to 8 threads.\n   > Compressing objects: 100% (26/26), done.\n   > Writing objects: 100% (29/29), 74.94 KiB | 0 bytes/s, done.\n   > Total 29 (delta 8), reused 0 (delta 0)\n   > To https://github.com/USERNAME/REPOSITORY.git\n   >  * [new branch]      BRANCH_NAME -> BRANCH_NAME\n   ```\n\n9. 新しいブランチで新しい pull request を作成します。\n\n## エラー: 一部の ref をプッシュできませんでした\n\nリモートの `refs/pull/` 名前空間は \"*読み取り専用*\" です。 そこでコミットをプッシュしようとすると、次のエラーが表示されます。\n\n```shell\n! [remote rejected] HEAD -> refs/pull/1/head (deny updating a hidden ref)\nerror: failed to push some refs to 'git@github.local:USERNAME/REPOSITORY.git'\n```\n\n> \\[!TIP]\n> リモート参照を削除または名前変更しても、 `git-remote` の呼び出しはローカルの `refs/pull/origin/` 名前空間には影響しません。"}