跳到主要内容

合并请求

合并请求(Merge Request)是 iForge 的代码审查核心,与任务系统深度集成

工作流

  1. 创建 MR:选择源分支和目标分支,自动填充提交日志作为标题和描述
  2. 代码审查:逐行评论、审查状态(approve/request changes)
  3. 冲突检测:自动检测合并冲突
  4. 合并:支持直接合并、Squash 合并、Rebase 合并

🔗 与任务联动

MR 与任务系统的集成是 iForge 的核心特色:

从任务创建 MR

  • 从任务详情页直接创建 MR,源分支自动填充
  • MR 描述自动关联任务编号
  • 合并后任务状态自动流转到「已完成」

提交关联

提交信息中引用任务编号,自动关联到 MR:

git commit -m "修复登录问题 #TASK-12"
git commit -m "添加单元测试 #TASK-12"

双向追溯

  • 从任务看 MR:任务详情页显示关联的合并请求
  • 从 MR 看任务:MR 详情页显示关联的任务列表

Fork 贡献

任何登录用户都可以从自己的 Fork 向上游仓库创建 MR,无需成为项目成员(与 GitHub 行为一致)。

MR 详情页

采用 GitHub 风格的 Tab 布局:

  • 对话:时间线、评论、状态变更
  • 提交:提交列表
  • 检查:CI/CD 检查状态
  • 文件变更:Split diff 视图

审查流程

  • Approve:审查通过,可以合并
  • Request Changes:需要修改,阻止合并
  • Comment:仅评论,不阻止合并

合并策略

策略说明适用场景
直接合并保留所有提交历史需要完整历史记录
Squash 合并压缩为单个提交保持主线简洁
Rebase 合并变基后快进合并线性历史

自动关闭 Issue

合并后可自动关闭关联的 Issue(在描述中使用 Closes #123Fixes #123)。