正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

フォークを越えてマージリクエストでコラボレーションする

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

フォークからマージリクエストを開くと、アップストリームのメンバーがブランチで共同作業できるようにすることができます。このオプションを有効にすると、ターゲットブランチへのマージ権限を持つメンバーは、マージリクエストのソースブランチへの書き込み権限を取得します。

これにより、アップストリームプロジェクトのメンバーは、マージする前に小さな修正を行ったり、リベースブランチを作成したりできます。

この機能は、フォークされたプロジェクト間で公開されているマージリクエストで使用できます。

アップストリームメンバーからのコミットを許可する

マージリクエストの作成者は、コントリビュート先のプロジェクトのアップストリームメンバーからのコミット編集を許可できます:

  1. マージリクエストの作成または編集中に、コントリビュートまでスクロールし、Allow commits from members who can merge to the target branch(ターゲットブランチにマージできるメンバーからのコミットを許可する)チェックボックスを選択します。
  2. マージリクエストの作成を完了します。

マージリクエストを作成すると、マージリクエストウィジェットにMembers who can merge are allowed to add commits(メンバーはマージできるコミットの追加を許可されています)というメッセージが表示されます。アップストリームメンバーは次のことができます:

  • ブランチに直接コミットします。
  • マージリクエストのパイプラインとジョブを再試行します。

アップストリームメンバーからのコミットを禁止する

マージリクエストの作成者は、コントリビュート先のプロジェクトのアップストリームメンバーからのコミット編集を禁止できます:

  1. マージリクエストの作成または編集中に、コントリビュートまでスクロールし、Allow commits from members who can merge to the target branch(ターゲットブランチにマージできるメンバーからのコミットを許可する)チェックボックスをオフにします。
  2. マージリクエストの作成を完了します。

アップストリームメンバーとしてフォークにプッシュする

次の条件に該当する場合、フォークされたリポジトリのブランチに直接プッシュできます:

  • マージリクエストの作成者が、アップストリームメンバーからのコントリビュートを有効にしている。
  • アップストリームプロジェクトのデベロッパーロール以上を持っている。

フォークのブランチに変更をプッシュしたり、コミットを追加したりするには、コマンドラインGitを使用できます。詳しくは、アップストリームメンバーとしてフォークにプッシュするためにGitを使用を参照してください。

トラブルシューティング

フォークされたプロジェクトのMRページからパイプラインステータスを利用できません

ユーザーがプロジェクトをフォークすると、フォークされたコピーの権限は元のプロジェクトからコピーされません。アップストリームプロジェクトのメンバーがマージリクエストの変更を表示またはマージするには、フォークの作成者がフォークされたコピーに権限を付与する必要があります。

元のプロジェクトに戻るフォークされたプロジェクトのマージリクエストページからパイプラインステータスを表示するには:

  1. すべてのアップストリームメンバーを含むグループを作成します。
  2. 左側のサイドバーで、検索または移動先を選択し、フォークしたプロジェクトを見つけます。
  3. フォークされたプロジェクトの管理 > メンバーページに移動し、新しく作成したグループをフォークされたプロジェクトに招待します。