💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
一、主分支(master) 在初始化仓库后,Git就默认创建了一个Master分支,我们把此分支做为主分支。 特点: 1)版本发布(正式版本),都是基于master分支来 2)当代码合并到master分支,我们会创建一个tag(标识一个release),然后发布到线上 如图: ![](https://box.kancloud.cn/91e8f4d85050df63a536934aecfe18c0_300x600.png) 二、开发分支(Develop) 特点: 1)主分支Master只用来发布重大版本,日常开发应该在另一条分支上完成 2)一般情况会为每个功能建立一个开发分支(比如A功能:A_Develop,B功能:B_Develop),如果开发团队人员不多,一般就直接建立一个Develop分支。然后我们会基于这个Develop分支,建立几个功能分支,开发完毕后,合并到Develop分支上 如图1: ![](https://box.kancloud.cn/a1fccc8855c15897d5b8b0cada95bb54_1061x542.png) 如图2: ![](https://box.kancloud.cn/5ce0b9e63b56f0a36268fc6acf0111e6_500x553.png) 操作如下: * 创建Develop分支并切换到该分支 $ git checkout -b develop master * 开发完毕之后,将Develop分支合并到Master分支 //先提交Develop分支 $ git commit -a -m "develop commit" //切换到Master分支 $ git checkout master //将Develop分支合并到Master分支 $ git merge --no-ff develop 如图: ![](https://box.kancloud.cn/3671816f5f39ba47a13a80257450a31c_700x312.png) 三、临时性分支 特点: 1、用于应对一些特定目的的版本开发 2、这些临时性分支,使用完毕后,需要删除 临时性分支一般有以下三种: 1)功能性分支(feature),(比如一个具体的功能模块或者活动页面) 功能分支,是为了开发某种特定功能,从Develop分支上面分出来的。开发完成后,要再并入Develop。 ![](https://box.kancloud.cn/464b67880aac09873d2d320ecb4d7633_400x727.png) 案例: 功能分支的名字,可以采用feature-*的形式命名。 * 创建一个功能分支: $ git checkout -b feature-x develop 开发完成后,将功能分支合并到Develop分支: //先提交功能分支 $ git commit -a -m "feature-x commit" //切换到Develop分支 $ git checkout develop * 将功能分支合并到Develop分支 $ git merge --no-ff feature-x * 删除feature分支: $ git branch -d feature-x 2 ) 预发布版本分支(release) 特点: 1)预发布分支,是指发布正式版本之前(即合并到Master分支之前),我们可能需要有一个预发布的版本进行测试。 2)预发布分支是从Develop分支上面分出来的,预发布结束以后,必须合并进Develop和Master分支。它的命名,可以采用release-*的形式。 3)测试基于这个预发布版本来测试 (前提是master分支没有任何提交) 案例: 1、创建一个预发布分支: $ git checkout -b release-1.2 develop 2、确认没有问题后,合并到master分支: //先提交预发布分支 $ git commit -a -m "release-1.2 commit" //切换到Master分支 $ git checkout master //将预发布分支合并到Master分支 $ git merge --no-ff release-1.2 //对合并生成的新节点,做一个标签 $ git tag -a 1.2 * 再合并到develop分支: //切换到Develop分支 $ git checkout develop //将预发布分支合并到Develop分支 $ git merge --no-ff release-1.2 * 最后,删除预发布分支: $ git branch -d release-1.2 如图: ![](https://box.kancloud.cn/0643a3d1a8ba7a28413be6a4597e1df6_1211x573.png) 3)修补bug 特点: * 当软件发布后,难免会出现各种bug * 修补bug的分支,是基于master分支创建的 * 再合并进Master和Develop分支。它的命名,可以采用fixbug-*的形式 如图: * 创建一个bug分支 $ git checkout -b fixbug-0.1 master 修补结束后,合并到master分支: //先提交修补bug分支 $ git commit -a -m "fixbug-0.1 commit" * //切换到Master分支 $ git checkout master //将修补bug分支合并到Master分支 $ git merge --no-ff fixbug-0.1 * 再合并到develop分支: //切换到Develop分支 $ git checkout develop //将修补bug分支合并到Develop分支 $ git merge --no-ff fixbug-0.1 * 最后,删除"修补bug分支": $ git branch -d fixbug-0.1