在main分支为主分支,提供给用户的正式版本
dev分支,日常开发分支
# 从main分支创建dev分支
git switch -b dev main
将dev分支发布到main分支
git switch main # 切换到main分支
git merge --no-ff dev # 将在main分支生成一个新节点,然后将dev分支合并到新节点上,是main分支保持主干
临时分支:部署即主(main)、开发(dev)、功能(feature)、预发布即测试(release)、修补(fixbug)、紧急修复(hotfix)
Type的类别说明:
- feat: 添加新特性
- fix: 修复bug
- docs: 仅仅修改了文档
- style: 仅仅修改了空格、格式缩进、都好等等,不改变代码逻辑
- refactor: 代码重构,没有加新功能或者修复bug
- perf: 增加代码进行性能测试
- test: 增加测试用例
- chore: 改变构建流程、或者增加依赖库、工具等
都是临时的,使用完后,应该删除,是常用分支只有main分支和dev分支
# 创建一个功能分支
git switch -b feature-x dev
# 开发完后合并分支
git switch dev
git merge --no-ff feature-x
# 删除临时功能分支
git branch -d feature-x
第二种是预发布分支,它是指发布正式版本之前(即合并到main分支之前),我们可能需要有一个预发布的版本进行测试。
预发布分支是从dev分支上面分出来的,预发布结束以后,必须合并进dev和main分支。它的命名,可以采用release-*的形式。
创建一个预发布分支:
git checkout -b release-1.2 dev
确认没有问题后,合并到main分支:
git checkout main
git merge --no-ff release-1.2
# 对合并生成的新节点,做一个标签
git tag -a 1.2
再合并到develop分支:
git switch dev
git merge --no-ff release-1.2
最后,删除预发布分支:
git branch -d release-1.2
树型查看分支
git log --graph --pretty=oneline --abbrev-commit