注: pull request の作成者� けが、上流のリポジトリ メンテナ、または上流のリポジトリへのプッシュ アクセスを持っているユーザーに対し、ユーザ所有のフォークで pull request の比較ブランチにコミットする権限を与えることができます。 詳細については、「Allowing changes to a pull request branch created from a fork」 (フォークから作成された pull request ブランチへの変更を許可する) を参照してく� さい。
アクティブなプルリクエストをローカルで修正する
- リポジトリ名の下にある [pull request] をクリックします。
- pull request の一覧で、変更する pull request をクリックします。
- マージ ボックスで、 [Comand LIne Instructions](コマンド ラインの手� �) をクリックします。 手� �に従い、提案されたプルリクエストをローカルにダウンロードしてく� さい。
- 必要に応じて、GitHub Desktop で提案された変更を表示するには、 [open this in GitHub Desktop](GitHub Desktop でこれを開く) をクリックします。
GitHub CLI の詳細については、「GitHub CLI について」を参照してく� さい。
pull request をローカルでチェックアウトするには、gh pr checkout
サブコマンドを使用します。 pull-request
を、pull request の番号、URL、またはヘッド ブランチで置き換えます。
gh pr checkout pull-request
アクティブではないプルリクエストをローカルで修正する
プルリクエストの作者がリクエストに応答しない� �合や、フォークを削除した� �合でも、プルリクエストをマージできます。 一方、プルリクエストを変更したくても作者が応答しないという� �合、プルリクエストを更新するには追� 的な手� �を踏まなければなりません。
プルリクエストがオープンされると、GitHub Enterprise Server はすべての変更をリモートで保存します。 つまり、プルリクエストがマージされる前でも、プルリクエストのコミットはリポジトリで利用できます。 オープンなプルリクエストをフェッチして、自分のものとして再作成できます。
誰でも、以前にオープンされたプルリクエストを使って、さらに作業を進めたり、テストしたりできます。そこへ変更を追� して新しいプルリクエストをオープンすることもできます。 た� し、プルリクエストをマージできるのは、プッシュアクセスを持つコラボレータ� けです。
- リポジトリ名の下で、 [issue] または [pull request] をクリックします。
- [Pull Requests] リストで、マージしたいプルリクエストをクリックします。
- アクティブではないプルリクエストの ID 番号を検索します。 ID 番号は、プルリクエストのタイトルの後に付いている数字です。 1. [ターミナル][ターミナル][Git Bash] を開きます。
- ID 番号を元に、プルリクエストへの参照をフェッチします。この過程で、新しいブランチが作成されます。
$ git fetch origin pull/ID/head:BRANCHNAME
- このプルリクエストに基づく新しいブランチに切り替えます。
[main] $ git checkout BRANCHNAME > Switched to a new branch 'BRANCHNAME'
- これで、このブランチに対して任意の操作を実行できます。 ローカルテストを実行するか、他のブランチをブランチにマージすることができます。
- 準備ができたら、新しいブランチをプッシュできます。
[pull-inactive-pull-request] $ git push origin BRANCHNAME > Counting objects: 32, done. > Delta compression using up to 8 threads. > Compressing objects: 100% (26/26), done. > Writing objects: 100% (29/29), 74.94 KiB | 0 bytes/s, done. > Total 29 (delta 8), reused 0 (delta 0) > To https://ホスト名/username/repository.git > * [new branch] BRANCHNAME -> BRANCHNAME
- 新しいブランチで新しい pull request を作成します。
エラー: 一部の ref をプッシュできませんでした
リモートの refs/pull/
名前空間は "読み取り専用" です。 ここにコミットをプッシュしようとすると、以下のエラーが表示されます。
! [remote rejected] HEAD -> refs/pull/1/head (deny updating a hidden ref)
error: failed to push some refs to 'git@github.local:USERNAME/REPOSITORY.git'
ヒント: リモート参照の削除または名前変更を行う� �合、ローカルの refs/pull/origin/
名前空間は、git-remote
への呼び出しの影響を受けません。