プログラミングマガジン

プログラミングを中心にIT技術をできるだけわかりやすくまとめます。

  • ホーム
  • GitLab
  • 【GitLab】「Merge Request(マージリクエスト)」について
 
 
     
  • サーバー言語  
    • Python
    • Ruby
    • PHP
    • SQL
  •  
  • インフラ  
       
    • AWS
    •  
    • 基本
    • Git
  • Web
       
    • Web開発
    • JavaScript
    • Vue.js
    • React
  •  
  • 設計  
       
    • 実装設計
    • DB設計
  • 問い合わせ
  

【GitLab】「Merge Request(マージリクエスト)」について

03.13

  • miyabisan2
  • コメントを書く

この記事は1分で読めます

Merge Requestとは?

チーム内でソースコードのレビューをすることです。同様の機能にGitHubのプルリクエストが有名ですが、Pull(取り込んでもらう)ことに着目した名前なのに対して、マージリクエストはマージすることに着目した名前になっています。

Merge Requestの種類

以下の二つのフローがあります。

  • 保護ブランチワークフロー
  • フォークワークフロー

保護ブランチワークフロー

開発メンバー同士が全員同じGitLabプロジェクトで作業を行います。

Masterブランチを保護対象(Protected)として扱っていレビュー権限を持った管理者にだけ更新作業の制限をかけます。それぞれの開発者はDeveloperアクセス権限だけ割り振られてます。各開発者はローカルリポジトリに機能ブランチを作成して、Masterブランチに対してpushをする形で作業を進めます。

プロジェクトごとにリモートリポジトリを一つだけ管理すれば良いので開発手順やリポジトリ構造の複雑化を防ぐことが可能です。社内のチーム開発等の開発者が特定できる環境でよく利用される開発方式です。

手順

1
2
3
4
5
6
7
git clone レポジトリのURL(https://xxxx.yyy.git)
git checkout -b 機能ブランチ名
git branch -a
編集
git add .
git commit -m "コミットメッセージ"
git push origin master(マスターブランチの名前)

フォークワークフロー

Masterブランチへのマージは限られたメンバーが行い、開発メンバーはフォークして開発を行います。フォークは別リポジトリに書き込む権限がない場合でも作業依頼ができる機能なので元のリポジトリに影響を与えることなく開発を進められます。

開発者側でフォークしたリポジトリを最新に保つ必要があり、複数リポジトリを管理するという視点ではより高度なGitスキルが求められることになります。管理が複雑になるので通常の社内開発では採用されません。OSSの開発等の不特定多数の開発者が同時に開発する方式等で安易に元のリポジトリに影響を与えたくない開発等の場合に使われます。

機能ブランチの開発規模

一つの機能ブランチは極力小さいことが望ましいです。一つの修正に対する修正量が増えてしまうとレビューでの見落としにつながってしまう可能性が高くなります。

テストの自動化

テストやlinterの自動化にReview Appという機能があります。

スポンサーリンク
  • 2020 03.13
  • miyabisan2
  • コメントを書く
  • GitLab
  • Tweets Twitter
  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. 2020 03.11

    【GitLab】「Mattermost」について

  2. 2020 03.08

    【GitLab】アーキテクチャ

  3. 2020 03.12

    【GitLab】「Issue Tracker」、「Issue Board」について

  4. 2020 03.08

    【GitLab】管理コマンド

  5. 2020 03.08

    【GitLab】「グループ」、「プロジェクト」に関する知識

  6. 2020 03.14

    【GitLab】「GitLab CI/CD Jobs」について

  • コメント ( 0 )
  • トラックバック ( 0 )
  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

返信をキャンセルする。

【GitLab】「Issue Tracker」、「Is…

【GitLab】「GitLab CI/CD Jobs」…

RETURN TOP

著者プロフィール

エンジニア歴10年で過去に業務系、Webデザイン、インフラ系なども経験あります。現在はWeb系でフロントエンド開発中心です。

詳細なプロフィールはこちら

スポンサーリンク

カテゴリー

  • Android
  • AngularJS
  • API
  • AWS
  • C++
  • CSS
  • cursor
  • C言語
  • DDD
  • DevOps
  • Django
  • Docker
  • Figma
  • Git
  • GitLab
  • GraphQL
  • gRPC
  • Hasura
  • Java
  • JavaScript
  • Kubernetes
  • Laravel
  • linux
  • MySQL
  • Next.js
  • nginx
  • Node.js
  • NoSQL
  • Nuxt.js
  • Oracle
  • PHP
  • Python
  • React
  • Redux
  • Rspec
  • Ruby
  • Ruby on Rails
  • Sass
  • Spring Framework
  • SQL
  • TypeScript
  • Unity
  • Vue.js
  • Webサービス開発
  • Webデザイン
  • Web技術
  • インフラ
  • オブジェクト指向
  • システム開発
  • セキュリティ
  • その他
  • データベース
  • デザインパターン
  • テスト
  • ネットワーク
  • プログラミング全般
  • マイクロサービス
  • マイクロソフト系技術
  • マルチメディア
  • リファクタリング
  • 副業
  • 未分類
  • 業務知識
  • 生成AI
  • 設計
  • 関数型言語
RETURN TOP

Copyright ©  プログラミングマガジン | プライバシーポリシー