GitLab Flow 是一种版本控制工作流,结合了 Git 的分支模型和持续集成/持续交付 (CI/CD) 的最佳实践,适用于持续开发和交付的场景。以下是其图形表示及示例说明:
feature/add-coupon
分支,完成代码开发后提交合并请求 (Merge Request, MR)。release/v1.1.0
,进行全面测试和优化,发现问题在分支中修复。v1.1.0
标签。hotfix/fix-payment-bug
,快速修复后提交合并请求。以电子商务平台开发流程为例,演示 GitLab Flow 实现的具体命令。
# 从主分支更新代码,确保最新
git checkout main
git pull origin main
# 创建功能分支
git checkout -b feature/add-coupon
# 开发代码并提交(多次提交可视情况而定)
git add .
git commit -m "Add coupon feature implementation"
# 推送功能分支到远程仓库
git push origin feature/add-coupon
# 在 GitLab 上发起 Merge Request (MR)
# -- 在 GitLab 页面操作 --
# MR 被合并后,清理本地分支
git checkout main
git pull origin main
git branch -d feature/add-coupon
git push origin --delete feature/add-coupon
v1.1.0
版本。# 从主分支更新代码
git checkout main
git pull origin main
# 创建发布分支
git checkout -b release/v1.1.0
# 修复或调整代码(如测试问题)
git add .
git commit -m "Fix minor issues for v1.1.0 release"
# 推送发布分支到远程仓库
git push origin release/v1.1.0
# 经 QA 测试后,合并到主分支
# 在 GitLab 上合并后,本地同步主分支并打标签
git checkout main
git pull origin main
git tag v1.1.0
git push origin v1.1.0
# 清理本地和远程发布分支
git branch -d release/v1.1.0
git push origin --delete release/v1.1.0
# 从主分支更新代码
git checkout main
git pull origin main
# 创建热修复分支
git checkout -b hotfix/fix-payment-bug
# 修复代码并提交
git add .
git commit -m "Fix critical bug in payment module"
# 推送热修复分支到远程仓库
git push origin hotfix/fix-payment-bug
# 在 GitLab 上发起 MR,审核通过后合并到主分支
# 合并后部署新版本到生产环境
# 合并后,清理本地和远程热修复分支
git checkout main
git pull origin main
git branch -d hotfix/fix-payment-bug
git push origin --delete hotfix/fix-payment-bug
GitLab Flow 通常结合 CI/CD 管道来实现自动化构建和部署。例如,在 .gitlab-ci.yml
中配置以下内容:stages: - test - deploy test: stage: test script: - echo "Run tests" - npm test
deploy_production:
stage: deploy
only:
- tags
script:
- echo "Deploy to production"
- ./deploy.sh
每当代码合并到主分支并打标签后,CI/CD 将自动触发部署流程。
这些命令和流程结合 GitLab 页面操作,可以实现规范化的 GitLab Flow。