以下是一个适用于 GitLab 多人协作的 MR 流程规范模板,涵盖分支策略、MR 创建流程、冲突处理、审查要求和 CI/CD 设置。可以直接复制到团队 Wiki 或文档中使用。
📘 一、分支策略
            
            
              text
              
              
            
          
          main        ← 线上生产分支,仅从 release 合并
dev         ← 日常集成功能分支,所有功能分支从这里拉,合回这里
release/X.Y ← 发布候选分支(选用)
feature/*   ← 功能分支(如 feature/login)
bugfix/*    ← 紧急修复分支(从 dev 或 release 拉出)
        feature/bugfix分支命名格式:feature/简短描述、bugfix/编号-描述- 避免跨任务合并,不要在一个分支上做多件事
 
🚀 二、MR 提交流程
1. 创建功能分支
            
            
              bash
              
              
            
          
          git checkout dev
git pull origin dev
git checkout -b feature/your-task
        2. 任务开发与本地测试
            
            
              bash
              
              
            
          
          git add .
git commit -m "feat(task): 增加 XX 功能"
        3. 提交并新建 MR
            
            
              bash
              
              
            
          
          git push -u origin feature/your-task
        - 
在 GitLab 上新建 MR:
- 源分支 :
feature/your-task - 目标分支 :
dev - 填写标题(统一前缀如 
[Feature] 登录功能)、描述、关联 issue、分配审查者 
 - 源分支 :
 
🛡 三、MR 审查规范
- ✅ 至少 1 名同事 approval
 - ✅ 自动 CI Pipeline 必须通过
 - ✅ 确认没有冲突
 - ✅ 所有 discussion resolved (可启用设置 
Require all threads to be resolved) 
审查内容重点:
- 代码风格与命名规范
 - 功能覆盖与逻辑准确性
 - 安全性、性能、可维护性
 
🧩 四、冲突预防与处理
🔁 定期同步 dev 分支:
            
            
              bash
              
              
            
          
          # 在开发过程中:
git fetch origin
git checkout feature/your-task
git merge origin/dev
# 冲突时手动解决并 commit,再 push
        ⚠️ MR 中发现冲突:
            
            
              bash
              
              
            
          
          git checkout dev
git pull origin dev
git checkout feature/your-task
git merge dev
# 解决冲突后:
git add .
git commit -m "fix: 解决与 dev 的合并冲突"
git push
        - PR 界面会 On-the-fly 更新,提示"冲突已解决,准备合并"
 
🟢 五、MR 合并设置(由维护者操作)
- 
检查是否满足:
- Tests ✅
 - Approvals ✅
 - Discussions resolved ✅
 - 无冲突
 
 - 
选择合并方式:
- 快进 merge(默认)
 - 或 建议使用 
--no-ff保留合并记录 
 - 
点击 "Merge" 或 "Merge when pipeline succeeds"
 - 
可选择删除源分支
 
🛠 六、CI/CD 与保护分支设置
在 GitLab 项目设置中启用:
- ✅ 
Only allow merge when pipeline succeeds - ✅ 
Require merging request approval - ✅ 
Require all threads to be resolved - ✅ 关闭 
Fast-forward merge(可选) 
推荐 CI 策略:
- 单元 + 集成 + 静态检查
 - Merge MR 时触发构建发布到测试环境
 - Release 使用 
release/X.Y分支并触发预发布和生产发布流程 
🧨 七、示例流程图(文本版)
            
            
              text
              
              
            
          
          [dev] ←────────────┐
  ↑                   │
  │ git merge MR      │
  │                   ↓
[feature/A] → MR → [review + CI] → approve → merge → [dev]
  ↑                        ^
  │ git merge dev         │ runs CI & testing
  └────────── git pull ───┘
        🎯 八、成功提交 MR Checklist
- 分支命名规范
 - 已同步最新 dev 分支
 - 编写清晰 MR 标题与描述
 - 关联 issue 和审查人
 - CI 全部通过
 - 没有冲突
 - 审查通过,所有讨论已解决
 
📎 附录:常用命令
            
            
              bash
              
              
            
          
          # 获取 dev 最新 + 合并到功能分支
git checkout feature/branch
git fetch origin
git merge origin/dev
# 重新推送以更新 MR
git push
# 删除 merged 特性分支
git branch -d feature/branch
git push origin --delete feature/branch
        这个模板可以复制到团队 Wiki,或作为 README 添加到代码仓库中。