Git分支管理策略

在项目中推荐的 Git 分支管理策略介绍:

主分支Master

永久分支

首先,代码库应该有一个、且仅有一个主分支Master。项目的正式版本,都在这个主分支上发布。

它是自动建立的,版本库初始化以后,默认就是在Master分支进行开发。

功能开发分支 feature/*

临时性分支

功能分支,它是为了开发某种特定功能,从master分支上面分出来的。

开发完成后,并入 release, 并删除该 feature 分支;

功能分支的名字,可以采用feature/w_*的形式命名。即 feature/开发者标识_开发的功能

版本预发布分支 release/*

临时性分支 ,命名 release/版本号

预发布分支,它是指发布正式版本之前(即合并到Master分支之前),我们可能需要有一个预发布的版本进行测试。

预发布分支最初是从master分支上面分出来的,将开发完成的feature分支合并到release分支进行测试,测试完成后将release分支合并到master分支进行发布

对于已经测试发布的 release 分支可以删除,并在master分支上打版本 tag, 用 tag 来代替原来的release分支,防止项目中出现大量的 release 分支

bug修复分支 fixbug/*

临时性分支,命名  fixbug/开发者标识_修改的功能,

软件正式发布以后,难免会出现bug。这时就需要创建一个分支,进行bug修补。

修补bug分支是从Master分支上面分出来的。修补结束以后,再合并进Master分支并删除 fixbug 分支

分支原则:

1 、只保留 1 个永久性分支 master ,其他分支都是临时分支,在生命周期结束后(合并到 master 分支)就会被删除。

2 、任何线上代码的变化,都不允许直接在已存在的分支中修改,而是通过从 master 分支合并来获取变化。

3 、修改线上代码只能从 master 分支切出来进行修改,修改完成后需要合并回 master 分支。

有些团队喜欢搞什么测试分支、预发分支,其实都不需要。CI/CD 的精髓在 tag 而不是分支,通过不同类型的 tag 来实现自动化发布。