git分支管理开发规范

988 阅读2分钟

简介

Git分支命名规范如下: 渲染效果如下:

9082457-77a7d82eece5fdc8.webp

1、主分支master

代码仓库有且仅有一个主分支,所有提供给用户使用的正式版本,都在这个主分支上发布。Git主分支的名字,默认叫做master。自动建立的,版本库初始化以后,默认就是在主分支在进行开发。团队成员从主分支(master)获得的都是处于可发布状态的代码。

2、开发分支develop

作为日常开发的分支叫做develop分支。开发分支上应该总能获得到最新开发进展的代码。

常见的命令:

# 基于master分支创建develop分支
git checkout -b develop master

# 把master分支合并到master分支
git merge --no-ff develop

--no-ff的意思强制禁用Fast Forward模式,git就会在merge时候生成一个新的commit,这样从历史分支就可以看出分支信息。

git merge --no-ff -m "merge with no-ff" dev

和Fast Forward的区别:

9082457-14e2ce460d1446d4.webp

3、临时分支

除了常设分支之外,还有一些临时分支,用于应对一些特定目的的版本发版。

  • 功能(feature)分支
  • 预发布(release)分支
  • 修复bug(hotfix)分支

临时分支用完之后最好删除,使得代码库的常设分支只有master和develop分支。

3.1 功能分支

feature分支是为了开发某特定功能的从develop分支拉取的分支,开发完之后要合并到develop分支。功能分支的命名采用feature-xxx的形式。

```
# 基于develop分支创建feature-xxx分支
git checkout -b featue-xxx develop

# 开发完之后要合并到develop分支
git merge --no-ff develop
```

9082457-3c972d2eea6868f0.webp

3.2 预发布分支

release分支是指发布到预发布环境的分支,预发布期间测试的问题需要在release分支进行修复,结束之后需要合并到master分支和develop分支。一般预发布分支采用release-xxx的形式。

# 创建一个预发布分支
git checkout -b release-x develop

# 测试完成之后合并到develop和master分支
git merge --no-ff release-x

# 对合并生成的新节点,做一个标签
git tag -a 1.2

# 再合并到develop分支
git merge --no-ff release-x

# 最后,删除预发布分支
git branch -d release-x

3.3 bug修复分支

生成环境遇到bug,需要创建分支进行bug修复。

修补bug分支是从Master分支上面分出来的。修补结束以后,再合并进master和develop分支。它的命名,可以采用hotfix-x的形式。

# 创建一个修补bug分支
git checkout -b hotfix-x master

# 修补结束后,合并到master分支
git merge --no-ff hotfix-x
git tag -a 0.1

# 再合并到develop分支
git merge --no-ff hotfix-x

# 删除"修补bug分支"
git branch -d hotfix-x

9082457-d1fed99bd84adbbb.webp

4、总结

整体的分支管理策略图示:

9082457-839dd1c1928c1cf5.webp

5、参考

Git分支管理规范