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,保证发布安全

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

相关推荐
lisanmengmeng18 小时前
Gitlab搭建
gitlab
dapeng-大鹏3 天前
记一次 GitLab Let‘s Encrypt 证书申请失败的排查与修复
gitlab
身如柳絮随风扬3 天前
使用 Docker 部署 GitLab 并分配用户账号 —— 保姆级教程
docker·容器·gitlab
鼎道开发者联盟4 天前
鼎享会 | 从手工到自动化:OpenClaw改造GitLab内部协作流程的全过程
自动化·gitlab·openclaw
ℳ₯㎕ddzོꦿ࿐5 天前
告别手工发版:用 GitLab CI/CD 打通前后端自动化部署的“任督二脉”
ci/cd·自动化·gitlab
ℳ₯㎕ddzོꦿ࿐5 天前
实战:在 Linux 系统用 Docker-Compose 优雅部署 GitLab 及防坑指南
linux·docker·gitlab
源图客5 天前
Linux(CentOS9)服务器部署gitlab-ce-18.11.1-ce.0.el9.x86_64.rpm
linux·服务器·gitlab
ℳ₯㎕ddzོꦿ࿐5 天前
实战篇:结合 GitLab CI/CD 实现 Spring Cloud 微服务自动化部署与防坑指南
spring cloud·ci/cd·gitlab
菜萝卜子6 天前
【Git】GitLab 18.9 全局服务器钩子(Server Hooks)官方规范与落地实践
服务器·git·gitlab
lilili也7 天前
Git、VScode、GitLab
git·vscode·gitlab