フォークから作成されたプルリクエストのブランチへの変更をコミットする
プルリクエストの作者から権限を付与されていれば、リポジトリのフォークから作成されたプルリクエストのブランチにおける変更をコミットできます。
プルリクエストのブランチが以下の条件を満たす場合にのみ、コミットを実行できます:
- あなたがプッシュアクセス権限を持つリポジトリでオープンされ、かつそのリポジトリのフォークから作成されている
- プルリクエストの作者から権限を付与されている
- コミットを妨げるブランチ制限がない
プルリクエストを作成したユーザのみが、ブランチにコミットをプッシュできる権限を与えることができます。 詳しい情報については、「フォークから作成されたプルリクエストブランチへの変更を許可する」を参照してください。
メモ: リポジトリのフォークの、コピー (またはフォーク) を作成して、プルリクエストの変更元と同じ head ブランチに変更をコミットすることにより、使用している GitHub Enterprise Serverインスタンス を通じて、リポジトリのフォークからプルリクエストのブランチへコミットすることも可能です。 一般的なガイドラインについては、「フォークからプルリクエストを作成する」を参照してください。
-
GitHub Enterpriseで、プルリクエストのブランチを作成したフォーク (またはリポジトリのコピー) のメインページに移動します。
-
フォークのリポジトリ名の下にある [Clone or download] をクリックします。
-
In the Clone with HTTPs section, click to copy the clone URL for the repository.
-
ターミナルターミナル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
-
元の変更が行われた、プルリクエストの比較ブランチに切り替えます。 元のプルリクエストに移動すると、比較ブランチがプルリクエストの上部に表示されます。
In this example, the compare branch istest-branch
:$ git checkout test-branch
参考: 例も含めたプルリクエストブランチに関する詳しい情報については「プルリクエストを作成する」を参照してください。
-
これで、このブランチに対して任意の操作を実行できます。
master
を含め、新しいコミットのプッシュ、ローカルでのテスト、他のブランチからのマージを行えます。 自由に修正しましょう。 -
プルリクエストの 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インスタンス の元のプルリクエストに反映されます。