PR 和 MR 的区别
· 阅读需 3 分钟
核心概念和比较
Pull Request (PR) 和 Merge Request (MR) 是版本控制系统(主要是 Git)的功能,用于代码审查和合并代码。
比较
项目 | PR (Pull Request) | MR (Merge Request) |
---|---|---|
定义 | 开发者请求将其代码从一个分支合并到另一个分支的请求 | 开发者请求将其代码从一个分支合并到另一个分支的请求 |
主要使用平台 | GitHub、Bitbucket | GitLab |
典型工作流程 | Fork 仓库 -> 创建分支 -> 提交代码 -> 创建 Pull Request | 创建分支 -> 提交代码 -> 创建 Merge Request |
审查和讨论 | 允许在 Pull Request 上进行代码审查、评论和讨论 | 允许在 Merge Request 上进行代码审查、评论和讨论 |
自动化检查 | 通常与 CI/CD 工具集成,自动运行测试和构建 | 通常与 CI/CD 工具集成,自动运行测试和构建 |
代码合并 | 代码审查通过后,可以将代码从一个分支合并到目标分支 | 代码审查通过后,可以将代码从一个分支合并到目标分支 |
命名差异 | “Pull Request” 反映了请求代码合并时拉取代码的动作 | “Merge Request” 更直接地反映了合并代码的目的 |
核对和补充
定义和用途
- PR 和 MR 都是开发者请求将其代码从一个分支合并到另一个分支,通常是从一个功能分支合并到主分支或开发分支。
- 这两个功能的核心用途是实现代码审查、讨论、自动化测试和合并。
主要使用平台
- PR 主要在 GitHub 和 Bitbucket 上使用。
- MR 主要在 GitLab 上使用。
典型工作流程
Pull Request
- 在 GitHub 上,通常需要先 Fork 仓库,然后在 Fork 的仓库中创建一个新分支进行开发。
- 完成开发后,创建 Pull Request 请求将代码合并到原始仓库的目标分支。
Merge Request
- 在 GitLab 上,通常可以直接在原始仓库中创建新分支进行开发。
- 完成开发后,创建 Merge Request 请求将代码合并到目标分支。
审查和讨论
- 两者都支持代码审查和讨论,团队成员可以在 PR 或 MR 上进行评论、建议修改和讨论。
自动化检查
- PR 和 MR 都通常与 CI/CD 工具集成,自动运行测试和构建以确保代码质量。
代码合并
- 在代码审查通过后,维护者可以将代码合并到目标分支。