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

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

When someone sends you a pull request from a fork or branch of your repository, you can merge it locally to resolve a merge conflict or to test and verify the changes before merging on GitHub Enterprise.

Anyone with write access to a repository can pull a remote pull request down locally.

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

Note: Pull request authors can give upstream repository maintainers, or those with push access to the upstream repository, permission to make commits to their pull request's compare branch in a user-owned fork. 詳しい情報については、「フォークから作成されたプルリクエストブランチへの変更を許可する」を参照してください。

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

  1. リポジトリ名の下にある Pull requests(プルリクエスト)をクリックしてください。

    Issue とプルリクエストのタブの選択

  2. プルリクエストのリストで、マージしたいプルリクエストをクリックします。

  3. In the merge box, click command line instructions. 手順に従い、提案されたプルリクエストをローカルにダウンロードしてください。

    コマンドラインのプルリクエスト手順へのリンク

  4. Optionally, to view proposed changes in GitHub Desktop, click open this in GitHub Desktop.

    ローカルのデスクトップでプルリクエストを開くリンク

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

If a pull request's author is unresponsive to requests or has deleted their fork, the pull request can still be merged. 一方、プルリクエストを変更したくても作者が応答しないという場合、プルリクエストを更新するには追加的な手順を踏まなければなりません。

Once a pull request is opened, GitHub Enterprise stores all of the changes remotely. In other words, commits in a pull request are available in a repository even before the pull request is merged. You can fetch an open pull request and recreate it as your own.

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

  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. このプルリクエストに基づく新しいブランチに切り替えます。

    [master] $ git checkout BRANCHNAME
    > Switched to a new branch 'BRANCHNAME'
  7. これで、このブランチに対して任意の操作を実行できます。 ローカルでのテスト、master を含む他のブランチからのマージも行えます。

  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 への呼び出しに影響されません。

担当者にお尋ねください

探しているものが見つからなかったでしょうか?

弊社にお問い合わせください