GitLab 项目创建与分支管理全流程

前言

在企业团队中,规范的 Git 流程和分支管理非常重要。本文将以 新建项目 → 上传框架代码 → 分支保护 → 多人协作开发 为线索,讲解完整流程,确保团队协作安全高效。


一、新建 GitLab 项目

  1. 登录 GitLab,点击 New Project → Create blank project
  2. 填写项目名称,例如 xxx-framework
  3. 不要勾选 Initialize repository(不初始化 README),保持空仓库
  4. 创建项目完成后,复制仓库的 HTTPS 或 SSH 地址

二、本地准备代码

假设已有框架代码,需要上传到 GitLab:

  1. 清理原项目不需要的文件:
bash 复制代码
cd 原框架目录
rm -rf .git
rm -rf .idea
rm -rf target
  1. Clone GitLab 空仓库到本地:
bash 复制代码
git clone <仓库地址>
cd xxx-framework
  1. 将框架代码复制到 clone 的目录下(注意不要覆盖 .git):
bash 复制代码
cp -r /path/to/your/framework/* .
  1. 建议添加 .gitignore 文件(可以从此前的项目中复制),至少包含:
gitignore 复制代码
target/
.idea/
*.log
*.iml

三、提交 Initial commit

  1. 初始化提交:
bash 复制代码
git add .
git commit -m "Initial commit"
  1. 推送到远端 main 分支:
bash 复制代码
git branch -M main
git push -u origin main

此时仓库状态:

  • main 分支已有干净框架代码
  • 本地和远端同步完成

四、新建 dev 分支

  1. 在本地基于 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_姓名命名规范)

  1. 从 dev 分支拉取最新代码
bash 复制代码
git checkout dev
git pull origin dev

  1. 基于 dev 创建自己的开发分支

分支命名规则:dev_开发者姓名

例如,开发者叫 zhangsan

bash 复制代码
git checkout -b dev_zhangsan

开发者叫 lisi

bash 复制代码
git checkout -b dev_lisi

  1. 在自己的 dev_ 分支开发完成后提交到远端
bash 复制代码
git add .
git commit -m "feat: 完成XXX模块开发"
git push origin dev_zhangsan

注意:每个开发者只 push 自己的 dev_ 分支,不允许直接 push dev 主分支


  1. 在 GitLab 上发起 Merge Request(MR)
text 复制代码
dev_zhangsan → dev
  • MR 必须经过 CI 成功
  • MR 必须由 Maintainer 审核通过

  1. 由 Maintainer 合并 MR 到 dev 分支
  • 确保 dev 分支始终保持稳定
  • 其他开发者可以基于最新 dev 分支创建自己的 dev_姓名 分支继续开发

6.2 发布到 main

  1. dev 分支经过测试稳定后

  2. 创建 MR:

    dev → main

  3. Maintainer 审核通过后合并到 main

⚡ 这样可以保证 main 始终稳定,dev 保持最新开发状态


七、合并请求配置建议

Merge Request Settings 中:

  • 合并方法(Merge method):Merge commit(保留完整历史)
  • 合并时压缩提交:根据情况选择
  • 合并检查(Merge checks):勾选 Pipeline 必须成功、必须审批、禁止冲突

Tip: 对于多人开发团队,这是保证代码质量和分支稳定的关键步骤


八、小结

通过以上步骤,你的团队仓库已经形成了一个安全、高效、可审计的 GitLab 流程

  1. main 分支稳定,不允许直接 push
  2. dev 分支受控,必须 MR 才能合并
  3. 开发者在 feature 分支开发,经过审核后合并到 dev
  4. dev 稳定后合并到 main,保证发布安全

这样,团队协作规范化,减少冲突和事故,也方便新成员快速上手。

相关推荐
Patrick_Wilson10 小时前
为什么gitlab的MR会默认有一个merge commit
前端·git·gitlab
极小狐15 小时前
极狐GitLab Duo 功能更新:扩展 MCP 工具集、支持 MR 事件触发
运维·gitlab·agent·mr·极狐gitlab·mcp·极狐gitlab duo
2501_928996221 天前
GitLab CVE-2026-19478漏洞解析:Gitaly ref攻击绕过审计与中科热备下的代码资产保护重构
重构·gitlab
秦渝兴1 天前
GitLab CI/CD 流水线实战
ci/cd·gitlab
Ningcode_cloud3 天前
什么是CICD? GitLab + Jenkins 持续集成实战部署手册
运维·ci/cd·云原生·容器·gitlab·jenkins
姚永强3 天前
gitlab安装
运维·gitlab
力江4 天前
GitLab 私有化部署实战 —— 从 Omnibus 到 Docker 的踩坑之旅
docker·容器·gitlab
极小狐8 天前
从 GitLab Flow 到 Pipeline:分支策略 + CI/CD + 运维一文打通
ci/cd·gitlab·devops·极狐gitlab
猫头虎8 天前
GitHub 入门教程:如何加入并为开源项目贡献代码
gitee·开源·gitlab·github·开放原子·开源协议·gitcode