ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2021-03-02. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの改善、新機能のためには、最新バージョンのGitHub Enterpriseにアップグレードしてください。 アップグレードに関する支援については、GitHub Enterprise supportに連絡してください。

プルリクエストをローカルでチェック アウトする

誰かがリポジトリのフォークまたはブランチからプルリクエストを送信した場合、ローカルでマージして、マージコンフリクトを解決するか、GitHub Enterprise Server でマージする前に変更をテストおよび検証できます。

リポジトリへの書き込みアクセスを持つユーザは、リモートプルリクエストをローカルにプルダウンできます。

ここには以下の内容があります:

注釈: プルリクエストの作者は、上流のリポジトリメンテナ、あるいは上流のリポジトリへのプッシュアクセスを持っている人に対し、ユーザ所有のフォークでプルリクエストの比較ブランチにコミットする権限を与えることができます。 詳しい情報については、「フォークから作成されたプルリクエストブランチへの変更を許可する」を参照してください。

アクティブなプルリクエストをローカルで修正する

  1. リポジトリ名の下にある Pull requests(プルリクエスト)をクリックしてください。
    Issue とプルリクエストのタブの選択
  2. プルリクエストのリストで、変更するプルリクエストをクリックします。
  3. マージボックスで、[command line instructions] をクリックします。 手順に従い、提案されたプルリクエストをローカルにダウンロードしてください。
    コマンドラインのプルリクエスト手順へのリンク
  4. オプションで、提案された変更を GitHub Desktop で表示するには、[open this in GitHub Desktop] をクリックします。
    Link to open a pull request locally in Desktop

アクティブではないプルリクエストをローカルで修正する

プルリクエストの作者がリクエストに応答しない場合や、フォークを削除した場合でも、プルリクエストをマージできます。 一方、プルリクエストを変更したくても作者が応答しないという場合、プルリクエストを更新するには追加的な手順を踏まなければなりません。

プルリクエストがオープンされると、GitHub Enterprise Server はすべての変更をリモートで保存します。 つまり、プルリクエストがマージされる前でも、プルリクエストのコミットはリポジトリで利用できます。 オープンなプルリクエストをフェッチして、自分のものとして再作成できます。

誰でも、以前にオープンされたプルリクエストを使って、さらに作業を進めたり、テストしたりできます。そこへ変更を追加して新しいプルリクエストをオープンすることもできます。 ただし、プルリクエストをマージできるのは、プッシュアクセスを持つコラボレータだけです。

  1. リポジトリ名の下で IssuesあるいはPull requests(プルリクエスト)をクリックしてください。
    Issue とプルリクエストのタブの選択
  2. [Pull Requests] リストで、マージしたいプルリクエストをクリックします。
  3. アクティブではないプルリクエストの ID 番号を検索します。 ID 番号は、プルリクエストのタイトルの後に付いている数字です。
    プルリクエストの ID 番号
  4. ターミナルターミナルGit Bashを開いてください。
  5. ID 番号を元に、プルリクエストへの参照をフェッチします。この過程で、新しいブランチが作成されます。
    $ git fetch origin pull/ID/head:BRANCHNAME
  6. このプルリクエストに基づく新しいブランチに切り替えます。
    [main] $ git checkout BRANCHNAME
    > Switched to a new branch 'BRANCHNAME'
  7. これで、このブランチに対して任意の操作を実行できます。 ローカルテストを実行するか、他のブランチをブランチにマージすることができます。
  8. 準備ができたら、新しいブランチをプッシュできます。
    [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://hostname/username/repository.git
    >  * [new branch]      BRANCHNAME -> BRANCHNAME
  9. 新しいブランチで新しいプルリクエストを作成します。

エラー: 一部の 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 への呼び出しに影響されません。