Git分支命名规范
| 分支 | 命名 | 说明 |
|---|---|---|
| 主分支 | main | 发布生产环境版本 |
| 预发布分支 | release | 发布预生产环境版本 |
| 开发分支 | dev | 发布开发环境版本 |
| 功能分支 | feature/* | 开发特定的功能模块 |
| 修复分支 | bug/* | 修复生产环境的BUG |
主分支
代码库有且仅有一个主分支,用于生产环境的版本发布
一般使用Git仓库创建时的默认分支
预发布分支
预发布分支用于发布功能到预生产环境,用于在上线前的功能测试
预发布分支是从dev分支上面分出来的,测试结束后,必须合并进dev和main分支
创建一个预发布分支:
git checkout -b release dev
测试完毕后,合并到main分支:
git checkout main
git merge -no-ff release
再合并到dev分支:
git checkout dev
git merge -no-ff release
最后删除预发布分支:
git branch -d release
git push -d origin release
开发分支
开发分支用于日常的开发,如果要发布新版本到生产环境,就需要先创建一个预发布分支,最后在合并到主分支发布
功能分支feature
功能分支用来开发特定的功能,以feture/功能名称来命名
创建一个功能分支:
git checkout -b feature/xxx dev
开发完毕后,将功能分支合并到dev分支,最后删除功能分支:
git checkout dev
git merge -no-ff feature/xxx
# 删除本地
git branch -d feature/xxx
# 删除远程的
git push -d origin feature/xxx
修补分支bug
修补分支是用来修复线上问题的分支,以bug/问题描述来命名
创建一个修补分支:
git checkout -b bug/xxx main
修复完毕后,合并到主分支,并删除当前分支
git checkout main
git merge -no-ff bug/xxx
# 删除本地
git branch -d bug/xxx
# 删除远程的
git push -d origin bug/xxx
其它
版本标签
每个版本发布后,都会给仓库新建一个标签用于版本标识
git tag -a xxx # 以版本名称命名
两个分支之间的代码同步
我们在日常开发时,为了避免合并分支时冲突过多的情况,通常会定期同步源分支的代码
例如在dev分支开发时,线上出现了bug,修复完成后main分支就有了修补bug的代码,此时我们就需要将main分支同步到dev分支,可以使用rebase进行同步
git checkout dev
git rebase main