フォークをまたいだマージリクエストの共同作業の許可
GitLab 10.6で導入されました。
ユーザーがフォークからのマージリクエストを開くと、そのソースブランチでの上流メンバーとの共同作業を許可するオプションが与えられます。 これにより、上流プロジェクトのメンバーはマージ前に小さな修正やブランチのリベースを行うことができ、外部からの貢献を受け入れる際のやりとりを減らすことができます。
この機能は、公開されているフォークプロジェクト全体のマージリクエストに利用できます。
マージリクエストで有効にすると、プロジェクトのターゲットブランチへのマージアクセス権を持つメンバーに、マージリクエストのソースブランチへの書き込み権限が付与されます。
上流メンバーからのコミット編集の有効化
この機能は、ソースプロジェクトへのプッシュアクセス権を持っているユーザーのみが有効化でき、マージリクエストがオープンされている間のみ有効です。 有効化されると、アップストリームメンバーはマージリクエストのパイプラインとジョブを再試行できるようになります:
上流メンバーとしてフォークへプッシュ
マージリクエストの作成者がアップストリームメンバーからの貢献を有効にしている場合、フォークしたリポジトリのブランチに直接プッシュすることができます。
そう仮定すると
- フォークされたプロジェクトのURLは
git@gitlab.com:thedude/awesome-project.git
。 - マージリクエストのブランチは
update-docs
です。
プロセスはこんな感じです:
-
まず最初に、マージリクエストによる変更を取得する必要があります。 ブランチをチェックアウトボタンをクリックすると、実行可能なコマンドがあらかじめ用意されています。
-
コピーボタンを使って最初のコマンドをコピーし、ターミナルに貼り付けます:
git fetch git@gitlab.com:thedude/awesome-project.git update-docs git checkout -b thedude-awesome-project-update-docs FETCH_HEAD
これはフォークしたプロジェクトのブランチを取得し、取得したブランチをもとにローカルブランチを作成します。
- 必要な変更を加えてコミットしてください。
-
フォークされたプロジェクトにプッシュします:
git push git@gitlab.com:thedude/awesome-project.git thedude-awesome-project-update-docs:update-docs
2つのブランチの間にコロン (
:
) があることに注意してください。上のコマンドは、ローカルブランチthedude-awesome-project-update-docs
をgit@gitlab.com:thedude/awesome-project.git
リポジトリのupdate-docs
ブランチにプッシュします。