分支管理规范
代码仓库Git规范,主要涉及Git分支管理策略,命名规范以及权限控制。每个团队成员必须遵循这些规范以保证开发的可靠。
分支策略如下图:
一个中心版本库,至少包括两个分支:master(主分支) 和 develop(开发分支) ;随着开发的需要,还包括三类 特性分支:
- feature branches(特性分支)
- release braches(预发布分支)
- hotfixes branches(热补丁分支)
主分支master
只允许在master分支上保存完全稳定的代码。
当release分支保持稳定状态,或者某些特性分支完成所有测试,合并入master分支,并且使用 版本号 打上 标签 。
(master分支只有管理员拥有权限进行push)
开发分支develop
开发分支与master分支平行,用于测试开发。
开发中绝大多数分支都应该是源于develop分支
特性分支
短期分支,用于实现单一特性或相关工作。开发完成后,合并到主干分支(develop或master),然后删除。
特性分支 只存在 于开发者仓库,不出现在orgin中。
基本步骤:
从develop 新建特性分支
git checkout -b feature-* develop
切换分支
git checkout develop
分支合并,注意 –no-ff
git merge –no-ff feature-*
删除分支
git branch -d feature-*
分支命名规范:feature-*,function-*,feature-*
功能分支 feature
来源:develop
合并回: develop
描述:用于开发特定功能。
热补丁分支 hotfixes
来源: master
合并回:develop和master
描述:用于修复bug。
注意:
- 创建热补丁后必须设置一个新的版本号(比如当前master分支tag V.1.2,提交绑定后标记V1.2.1)
- hotfixex 必须合并回master分值和develop分支,保证在下个版本中包含修复补丁。
预发布分支 release
来源:develop
合并回: develop和master
命名: release-版本号
描述:用于发布前的测试
注意:
release分支存在期间,如需新增功能,必须合并到develop分支,release保持当前版本特性。