git仓库使用规范

git仓库使用规范

1 背景

刚换了一个工作,当前单位的代码管理特别混乱,开发量大,功能分支繁多

1 重大分支没有完全设置分支保护,同事们在重大分支自行解决冲突,不小心将错误提交上去,导致环境不可用
2 分支命名五花八门,没有任何可用信息
3 合并代码后原分支保留,即使状态为已经合并,管理人员仍是不敢轻易删除(宁可留着,不可错删),导致代码库分支积累过多
4 随意提交文件,例如:‘exe’, 我了个擦…

于是趁着下班前的功夫简单写了份规范文档,暂时用于过度.

2 调整方案

2.1 对于重大的分支,设置为保护类型,禁止直接提交代码

2.2 推荐工作流作为参考

1 fork主干仓库

2 将开发分支(develop_branch)日常推送到自己仓库,协同开发可以创建新分支在主仓库(命名规范)

3 将要向那个环境分支(branch)发送合并请求,就基于该分支(branch)创建新的合并分支(
cherry_username_branch_master)

4 将自己开发的功能分支(develop_branch)合入对应的主干分支(
cherry_username_branch_master),如果发生冲突,就在该分支解决

5 如果各个分支的git历史记录一直,可以采用git merge 方式合并,如果不同分支的git历史差异较大提议采用cherry-pick方式

6 代码合并之后,自动删除请求分支(提交请求时候,勾选删除原分支)

2.3 命名规范

代码开发分支: `feature-{username}-{version}-{storyId}`

请求合并分支: `cherry-{username}-{version}-{storyId}-{master|pre|beta|prod}` 后缀方便代码管理人员辅助修正

示例:

1 创建新的开发分支。

命名
:feature-zhangsan-5.5-1005568

解释:类别-用户-迭代版本-需求id

2 创建请求合并分支

基于test创建请求合并分支,例如:cherry-zhangsan-test,代码负责人处理合并请求之后,gitlab自动删除合并分支.

解释:
cherry:说明是一个合并分支,用来解决冲突,由于重大分支设置了保护,是没有直接提交代码权限的
test:说明是向test发送合并请求。如果已经将请求发送到错误的分支,代码负责人在合并代码的时候,根据后缀也会及时制止

2.4 常用规范分支命令,个人参考腾讯工蜂

master 主干分支
feature 新特性开发分支
release 发布分支,用于预发布测试或稳定版本发布
hotfix 用于生产环境紧急bug修复的分支
develop 主开发分支
bugfix 产品bug修复分支
collaboration 多人合作开发分支
pre-production 预发布环境分支
production 生产环境分支
environment 对应某种软件部署环境的分支
experimental 用于保存实验性代码的分支,一般不合入主干

3 其它

1 对于规范,习惯成自然.合理的规范可以避免不必要的麻烦.
2 规范不是固定的,根据实际情况参考已有经验,制定符合当前团队的规范

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 共1条

请登录后发表评论