前言
在企业团队中,规范的 Git 流程和分支管理非常重要。本文将以 新建项目 → 上传框架代码 → 分支保护 → 多人协作开发 为线索,讲解完整流程,确保团队协作安全高效。
一、新建 GitLab 项目
- 登录 GitLab,点击 New Project → Create blank project
- 填写项目名称,例如
xxx-framework - 不要勾选 Initialize repository(不初始化 README),保持空仓库
- 创建项目完成后,复制仓库的 HTTPS 或 SSH 地址
二、本地准备代码
假设已有框架代码,需要上传到 GitLab:
- 清理原项目不需要的文件:
bash
cd 原框架目录
rm -rf .git
rm -rf .idea
rm -rf target
- Clone GitLab 空仓库到本地:
bash
git clone <仓库地址>
cd xxx-framework
- 将框架代码复制到 clone 的目录下(注意不要覆盖
.git):
bash
cp -r /path/to/your/framework/* .
- 建议添加
.gitignore文件(可以从此前的项目中复制),至少包含:
gitignore
target/
.idea/
*.log
*.iml
三、提交 Initial commit
- 初始化提交:
bash
git add .
git commit -m "Initial commit"
- 推送到远端 main 分支:
bash
git branch -M main
git push -u origin main
此时仓库状态:
- main 分支已有干净框架代码
- 本地和远端同步完成
四、新建 dev 分支
- 在本地基于 main 创建 dev 分支:
bash
git checkout -b dev
git push -u origin dev
此时仓库状态:
- main ✅
- dev ✅(已推送到远端)
五、设置分支保护
进入 Settings → Repository → Protected Branches,进行如下配置:
5.1 main 分支(生产稳定分支)
- 允许合并(Allowed to merge):Maintainers
- 允许推送和合并(Allowed to push):No one
- 允许强制推送(Force push):关闭
⚡ 作用:
- 禁止直接 push main
- 只能通过 Merge Request(MR)合并
- 保证生产分支安全
5.2 dev 分支(开发主线分支)
- 允许合并(Allowed to merge):Maintainers
- 允许推送和合并(Allowed to push):No one
- 允许强制推送(Force push):关闭
⚡ 作用:
- 开发者不能直接 push dev
- 必须通过 MR 合并到 dev
- 保证多人协作安全
六、团队协作流程
假设有多人开发,建议采用如下分支策略:
dev_/* → dev → main
6.1 开发者工作流程(dev_姓名命名规范)
- 从 dev 分支拉取最新代码
bash
git checkout dev
git pull origin dev
- 基于 dev 创建自己的开发分支
分支命名规则:
dev_开发者姓名
例如,开发者叫 zhangsan:
bash
git checkout -b dev_zhangsan
开发者叫 lisi:
bash
git checkout -b dev_lisi
- 在自己的 dev_ 分支开发完成后提交到远端
bash
git add .
git commit -m "feat: 完成XXX模块开发"
git push origin dev_zhangsan
注意:每个开发者只 push 自己的 dev_ 分支,不允许直接 push dev 主分支
- 在 GitLab 上发起 Merge Request(MR)
text
dev_zhangsan → dev
- MR 必须经过 CI 成功
- MR 必须由 Maintainer 审核通过
- 由 Maintainer 合并 MR 到 dev 分支
- 确保 dev 分支始终保持稳定
- 其他开发者可以基于最新 dev 分支创建自己的
dev_姓名分支继续开发
6.2 发布到 main
-
dev 分支经过测试稳定后
-
创建 MR:
dev → main
-
Maintainer 审核通过后合并到 main
⚡ 这样可以保证 main 始终稳定,dev 保持最新开发状态
七、合并请求配置建议
在 Merge Request Settings 中:
- 合并方法(Merge method):Merge commit(保留完整历史)
- 合并时压缩提交:根据情况选择
- 合并检查(Merge checks):勾选 Pipeline 必须成功、必须审批、禁止冲突
Tip: 对于多人开发团队,这是保证代码质量和分支稳定的关键步骤
八、小结
通过以上步骤,你的团队仓库已经形成了一个安全、高效、可审计的 GitLab 流程:
- main 分支稳定,不允许直接 push
- dev 分支受控,必须 MR 才能合并
- 开发者在 feature 分支开发,经过审核后合并到 dev
- dev 稳定后合并到 main,保证发布安全
这样,团队协作规范化,减少冲突和事故,也方便新成员快速上手。