フィーチャーブランチでの開発者

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を設定することができます:

  1. feature ブランチ (release-X-Y) に対して新しいブランチ (test-branch) を作成します:

    git checkout -b test-branch release-X-Y
    

    test-branchというブランチにいるはずです。

  2. test-branchを変更します。
  3. 変更を加えてコミットし、test-branchにプッシュします:

    git add .
    
  4. 変更をコミットします:

    git commit -m "Some good reason"
    
  5. 変更をリポジトリにプッシュします:

    git push --set-upstream origin test-branch
    
  6. リポジトリの URL に移動します。この場合、リポジトリはwww-gitlab-comで、https://gitlab.com/gitlab-com/www-gitlab-comで利用できます。

    GitLab にサインインすると、マージリクエストを作成するオプションが表示されます:

    Create merge request

  7. マージリクエストを作成するをクリックすると、ブランチを変更するオプションが表示されます。 そのオプションを選択してください。

  8. 新規マージリクエスト画面で、ソースブランチとターゲットブランチを選択できるようになりました。スクリーンショットでは、ソースとしてtest-branch を、ターゲットとしてrelease-13-0 を選択しています。

    Modify branches

  9. ソースブランチとターゲットブランチを選択したら、[ブランチを比較]をクリックして続行します。 以下のようなエントリが表示されるはずです:

    New Merge Request
    
    From test-branch into release-13-0
    

    このようなエントリがあると、MRがmasterにマージされないことが確認できます。

  10. 新規マージリクエスト]画面で追加変更を行い、[マージリクエストを送信]をクリックします。
  11. 新しいマージリクエストで、マージリクエストを探します。 以下のようなエントリーが表示されます:

    Request to merge test-branch into release-13-0
    

    これで、MR を master ではなく指定したブランチにマージするように設定したことがわかります。

  12. 他の MR と同じように変更を行ってください。
  13. あなたの MR が承認され、適切なユーザーがその MR をマージすると、あなたの作業が直接機能ブランチに組み込まれることになります。 機能ブランチの準備ができたら、それを master にマージすることができます。