プルリクエストのブランチが以下の条件を満たす場合にのみ、コミットを実行できます:
- あなたがプッシュアクセス権限を持つリポジトリでオープンされ、かつそのリポジトリのフォークから作成されている
- ユーザ所有のフォーク上にある
- プルリクエストの作者から権限を付与されている
- コミットを妨げるブランチ制限がない
プルリクエストを作成したユーザのみが、ユーザー所有のフォークにコミットをプッシュする権限を与えることができます。 詳しい情報については、「フォークから作成されたプルリクエストブランチへの変更を許可する」を参照してください。
注釈: リポジトリのフォークの、コピー (またはフォーク) を作成して、プルリクエストの変更元と同じ head ブランチに変更をコミットすることにより、GitHub Enterprise Serverのインスタンス を通じて、リポジトリのフォークからプルリクエストのブランチへコミットすることも可能です。 一般的なガイドラインについては、「フォークからプルリクエストを作成する」を参照してください。
-
GitHub Enterprise Serverで、プルリクエストのブランチを作成したフォーク (またはリポジトリのコピー) のメインページに移動します。
-
リポジトリ名の下でClone or download(クローンもしくはダウンロード)をクリックしてください。
-
HTTPSを使ってリポジトリをクローンするには、"Clone with HTTPS(HTTPSでクローン)"の下で、 をクリックしてください。 Organization の SSH 認証局から発行された証明書を含む SSH キーを使用してリポジトリのクローンを作成するには、Use SSH(SSHを使用)をクリックし、続いて をクリックしてください。
-
ターミナルターミナルGit Bashを開いてください。
ヒント: GitHub Desktopを使ってフォークをクローンしたい場合、「GitHub Desktopにリポジトリをクローンする」を参照してください。
-
カレントワーキングディレクトリを、クローンしたディレクトリをダウンロードしたい場所に変更します。
$ cd open-source-projects
-
git clone
と入力し、ステップ 3 でコピーした URL を貼り付けます。$ git clone https://hostname/USERNAME/FORK-OF-THE-REPOSITORY
-
Enter を押します。 これで、ローカルにクローンが作成されます。
$ git clone https://hostname/USERNAME/FORK-OF-THE-REPOSITORY > Cloning into `FORK-OF-THE-REPOSITORY`... > remote: Counting objects: 10, done. > remote: Compressing objects: 100% (8/8), done. > remove: Total 10 (delta 1), reused 10 (delta 1) > Unpacking objects: 100% (10/10), done.
ヒント: エラーメッセージ "fatal: destination path 'REPOSITORY-NAME' already exists and is not an empty directory" は、現在のワーキングディレクトリに、同じ名前のリポジトリがすでに存在することを意味します。 このエラーを解決するには、別のディレクトリにフォークをクローンする必要があります。
-
新しくクローンしたリポジトリに移動します。
$ cd FORK-OF-THE-REPOSITORY
-
元の変更が行われた、プルリクエストの比較ブランチに切り替えます。 元のプルリクエストに移動すると、比較ブランチがプルリクエストの上部に表示されます。 以下の例では、比較ブランチは
test-branch
です。$ git checkout test-branch
ヒント: 例も含めたプルリクエストブランチに関する詳しい情報については「プルリクエストを作成する」を参照してください。
-
これで、このブランチに対して任意の操作を実行できます。 新しいコミットのプッシュ、ローカルでのテスト、他のブランチからのマージを行うことができます。 自由に修正しましょう。
-
プルリクエストの head ブランチに変更をコミットした後、元のプルリクエストに直接、変更をプッシュできます。 この例では、head ブランチは
test-branch
です:$ git push origin test-branch > 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/FORK-OF-THE-REPOSITORY.git > 12da2e9..250e946 test-branch -> test-branch
新しいコミットが、GitHub Enterprise Serverのインスタンス の元のプルリクエストに反映されます。