可爱静

记录生活、学习和工作

0%

Git开发流程规范

摘要

规范代码开发流程

git 分支分为集成分支、功能分支和修复分支,分别命名为 develop、feature 和 hotfix,均为单数。不可使用 features、future、hotfixes、hotfixs 等错误名称。

1.git主分支(master)。它是自动建立,用于发布重大版本更新(github 现在默认是是main 因种族歧视问题)
2.git开发主分支(develop)。日常开发在此分支上进行
3.git临时性分支:用于应对一些特定目的的版本开发(验证OK后,应该删除此分支)

1
2
3
4
5
6
- 功能(feature)分支:它是为了开发某种特定功能,从Develop分支上面分出来的。开发完成后,要再并入Develop。可以采用feature-的形式命名。
- 预发布(release)分支:指发布正式版本之前(即合并到Master分支之前),我们可能需要有一个预发布的版本进行测试。预发布分支是从Develop分支上面分出来的,预发布结束以后,
必须合并进Develop和Master分支。它的命名,可以采用release-的形式。
- 修补bug(hotfix)分支:软件正式发布以后,难免会出现bug。这时就需要创建一个分支,进行bug修补。修补bug分支是从Master或Develop分支上面分出来的。修补结束以后,
再合并进Master和Develop分支。它的命名,可以采用hotfix-***的形式。

开发流程

暂定临时分支feature、hotfix两种启用。暂不启用RP、code review。

1.基于develop生成新临时开发分支。
2.测试、正式环境上线通过。
3.合并至develop分支,并生成对应的tag版本。
4.完成特定功能开发后(验证OK后,应该删除此分支)。
5.README.md文档中记录tag版本生成时间以及具体的功能名称。

修复bug流程

根据最新已经上线的分支代码创建hotfix分支。

1.基于develop或者上个tag版本(根据实际情况而定)生成新临时开发分支。
2.测试、正式环境上线通过。
3.合并至develop分支,并生成对应的tag版本。
4.若存在临时开发分支-完成特定功能开发后(验证OK后,应该删除此分支)。
5.若存在临时开发分支-临时开发分支合并已经修复bug的develop代码。
6.若存在临时开发分支-临时开发分支完成特定功能开发后(验证OK后,应该删除此分支)。
7.README.md文档中记录tag版本生成时间以及具体的功能名称。

案例

开发尺码

1
2
3
4
5
6
7
8
9
10
11
12
13
git checkout develop // 切换开发分支,git pull origin develop 并同步最新的develop分支代码。(强制)
git checkout -b feature-sizeGroup //基于develop分支创建新的开发分支(强制)
git push origin craftsAddUUID:craftsAddUUID //将本地新分支推送到远程(前本地,后远程)
git checkout develop // feature-sizeGroup完成上线后develop分支准备合并分支(强制)
git merge feature-sizeGroup // 合并开发功能分支(强制)
git tag -a v1.4 -m "my version 1.4" // 合并完成创建标签备注中简单说明开发功能(强制)
git push origin v1.4 // 推送tag标签到远程仓库(强制)
git branch -d feature-sizeGroup //删除本地的临时开发分支(非强制)
git push origin --delete feature-sizeGroup // 删除远程的临时开发分支(强制)
vim README.md // 保存新增tag版本记录(强制)
git add README.md // 追踪README.md文件。(强制)
git commit -m "发布新的tag" // 将暂存区里的改动给提交到本地的版本库(强制)
git push origin develop // 推送改动后的develop(强制)

master 合并周期

每月月底最后几个工作日完成对master 对develop分支的合并。

tag 版本命名

版本命名规范

  • 版本: v1.1.1 ( Build 101001 )
  • 版本格式 bigVersion.middleVersion.smallVersion
  • bigVersion 大版本(年度或者重大更新(强制更新,老版本存在不兼容等情况)) 取值范围 1-99
  • middleVersion 迭代版本 取值范围 1-99
  • smallVersion bug修复增强发布。 取值范围 1-999
  • Build为版本纯数字格式化。

git帮助文档

git 大全