一、整体流程图
二、角色与职责
-
项目负责人:
-
创建新项目仓库。
-
审核合并请求(Merge Request)。
-
确定发布计划。
-
创建并管理
dev-<date>,test-<date>,release/uat-<date>和release/pro-<date>分支。
-
-
开发人员:
-
从
dev-<date>分支创建特性或修复分支。 -
完成开发,进行单元测试,提交代码并推送到 GitLab。
-
创建合并请求将代码合并到
dev-<date>分支。 -
根据测试反馈,在
test-<date>分支中修复问题。
-
-
测试人员:
-
从
test-<date>分支创建或管理测试环境,进行集成测试和系统测试,提交测试报告。 -
在
release/uat-<date>分支的 UAT 环境中进行用户验收测试,提交测试报告。
-
-
运维人员:
-
从
release/uat-<date>分支创建release/pro-<date>分支。 -
完成生产环境的部署和监控。
-
确保生产环境的稳定运行。
-
三、详细操作步骤
-
项目仓库设置
步骤 1:创建新项目仓库 (由项目负责人操作)
- 登录 GitLab, 点击 "New project" 创建新的项目仓库。
步骤2: 克隆仓库到本地 (由开发人员操作)
git clone <repository-url>
-
分支策略
步骤1: 创建并推送 dev-<date> 分支 (由项目负责人或开发负责人操作)
git checkout -b dev-<date>
git push -u origin dev-<date>
git push origin和git push -u origin之间的主要区别在于-u选项的使用,该选项是--set-upstream的简写。这两个命令的详细解释如下:
git push origin:
这个命令将你的当前分支推送到远程仓库
origin。如果当前分支有一个已经设置的上游(upstream)分支(例如,如果你已经执行过git push -u origin),它会被推送到那个上游分支。如果没有设置上游分支,它会尝试推送到一个与当前分支同名的远程分支。
**git push -u origin**:
这个命令不仅将你的当前分支推送到远程仓库
origin,而且还将origin设置为当前分支的上游(upstream)分支。这意味着,在未来,你可以简单地使用
git push和git pull命令,而不必指定远程仓库和分支名,Git 会知道你是指origin以及对应的分支。使用
-u选项是一个很好的做法,尤其是当你首次推送一个新分支到远程仓库时,它可以帮助简化未来的 Git 操作。
-u或--set-upstream选项是用于创建一个追踪关系(tracking relationship)的,这样在未来的git push和git pull操作中,你不必再指定远程仓库和分支名。
-
日常开发
步骤0: 分支命名规范
dev-<date>: 开发分支test-<date>: 测试分支feature/<feature-name>: 新功能分支bugfix/<bug-name>: 修复bug的分支release/uat-<date>: UAT测试分支release/pro-<date>: 生产发布分支- 特性分支: 研发人员可以根据自己的需求自行命名特性分支
步骤1: 从 dev-<date> 分支创建特性或修复分支 (由开发人员操作)
git checkout -b feature/<feature-name> dev-<date>
步骤2: 提交代码并推送到 GitLab (由开发人员操作)
git add .
git commit -m "<commit message>"
git push -u origin feature/<feature-name>
步骤3: 创建合并请求 (Merge Request, MR) (由开发人员操作)
- 在 GitLab 上, 选择你的分支, 点击 "New Merge Request".
步骤4: 审核和合并代码 (由项目负责人或开发负责人操作)
-
审核代码,如果符合要求,就将代码合并到
dev-<date>分支。
-
测试与发布
步骤1: 创建测试分支 (由项目负责人或开发负责人操作)
git checkout -b test-<date> dev-<date>
步骤2: 在测试环境中进行测试 (由测试人员操作)
- 测试人员在测试环境中进行测试,提供测试报告和反馈。
步骤3: 修复测试环境中发现的问题 (由开发人员操作)
- 根据测试反馈,在
test-<date>分支中修复问题,并再次进行测试,直至通过测试。
步骤4: 创建 UAT 测试分支 (由项目负责人或开发负责人操作) (暂时未有此环境)
git checkout -b release/uat-<date> test-<date>
步骤5: UAT测试和反馈 (由测试人员和开发人员协作完成)
- 测试人员在 UAT 环境测试,开发人员根据反馈修复问题。
步骤6: 创建生产发布分支并合并到 master 分支 (由项目负责人或开发负责人操作)
git checkout -b release/pro-<date> release/uat-<date>
git checkout master
git merge release/pro-<date>
git push origin master
步骤7: 生产环境部署 (由运维人员操作)
-
运维人员基于
master分支完成生产环境的部署。
四、常见操作实例
- 克隆仓库:
git clone <repository-url> - 创建新分支:
git checkout -b <branch-name> - 提交代码:
git add . && git commit -m "<commit message>" - 推送代码:
git push origin <branch-name> - 创建合并请求: 在 GitLab 上, 选择你的分支, 点击 "New Merge Request".