フィーチャーブランチでの開発者
GitLabの価値観では、Minimal Viable Change(MVC)の使用を推奨しています。 しかし、実行可能な変更が常に小さいとは限りません。そのような場合には、専用のfeatureブランチを設定することが役立ちます。 そのfeatureブランチにMRを貢献することで、デフォルトの(通常はmaster
)ブランチの機能に影響を与えることがなくなります。
開発ブランチでの作業が完了したら、feature ブランチをデフォルトブランチにマージします。
GitLabでは、複数のMRを必要とするMVCがあると、頻繁にこのプロセスを実施しています。
使用例:GitLabのリリース投稿
このセクションでは、GitLabのリリースポストでの使用例について説明します。 GitLabチームの何十人ものメンバーが毎月のリリースポストに貢献しています。 そのような場合、masterではなくリリースポストのfeatureブランチにMRを投稿する方が効率的な場合があります。
この場合、featureブランチはrelease-X-Y
. release-X-Y
既にブランチが存在release-X-Y
すると仮定すると release-X-Y
、以下の手順でそのブランチに対してMRを設定することができます:
-
feature ブランチ (
release-X-Y
) に対して新しいブランチ (test-branch
) を作成します:git checkout -b test-branch release-X-Y
test-branch
というブランチにいるはずです。 -
test-branch
を変更します。 -
変更を加えてコミットし、
test-branch
にプッシュします:git add .
-
変更をコミットします:
git commit -m "Some good reason"
-
変更をリポジトリにプッシュします:
git push --set-upstream origin test-branch
-
リポジトリの URL に移動します。この場合、リポジトリは
www-gitlab-com
で、https://gitlab.com/gitlab-com/www-gitlab-com
で利用できます。GitLab にサインインすると、マージリクエストを作成するオプションが表示されます:
-
マージリクエストを作成するをクリックすると、ブランチを変更するオプションが表示されます。 そのオプションを選択してください。
-
新規マージリクエスト画面で、ソースブランチとターゲットブランチを選択できるようになりました。スクリーンショットでは、ソースとして
test-branch
を、ターゲットとしてrelease-13-0
を選択しています。 -
ソースブランチとターゲットブランチを選択したら、[ブランチを比較]をクリックして続行します。 以下のようなエントリが表示されるはずです:
New Merge Request From test-branch into release-13-0
このようなエントリがあると、MRがmasterにマージされないことが確認できます。
- 新規マージリクエスト]画面で追加変更を行い、[マージリクエストを送信]をクリックします。
-
新しいマージリクエストで、マージリクエストを探します。 以下のようなエントリーが表示されます:
Request to merge test-branch into release-13-0
これで、MR を master ではなく指定したブランチにマージするように設定したことがわかります。
- 他の MR と同じように変更を行ってください。
- あなたの MR が承認され、適切なユーザーがその MR をマージすると、あなたの作業が直接機能ブランチに組み込まれることになります。 機能ブランチの準備ができたら、それを master にマージすることができます。