一、主分支(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
- 第一部分:Git的基本操作
- 第一章:git软件的安装
- 第一节:在centos6.8上安装git-2.3
- 第二节:在windows上安装git-bash和TortoiseGit软件
- 第二章: Git的基本概念
- 第一节:git的基本操作
- 第二节:git的深入理解(内部运行机制)
- 第三章:git的文件管理
- 第一节:文件的添加及提交
- 第二节:文件的删除、回退等
- 第三节:忽略指定格式的文件
- 第四节:撤销本地仓库的修改
- 第四章:git的commit对象深入理解
- 第一节:查看提交历史(git log)
- 第二节:提交查找(git grep)
- 第三节:git版本库回退
- 第五章: Git分支管理
- 第一节:分支的概念及基本使用
- 第二节:Git分支管理策略
- 第三节:Git分支合并
- 第四节:推送本地分支到远程分支
- 第七章: Git常用命令详解
- 第一节:git fetch命令
- 第二节:git pull命令
- 第三节:git push命令
- 第四节: git merge命令
- 第五节:git rebase命令
- 第八章:远程仓库管理
- 第二部分: gitlab版本控制系统
- 第一节:"远程仓库”版本回退解决方案
- 第二节:远程分支和本地分支
- 第九章:Git冲突解决
- 第十章:客户端操作
- 第十章:git常规操作
- 第一章:安装gitlab服务器
- 第一节:在centos系统上安装
- 第二章:配置GitLab服务器
- 第一节:关闭gitlab注册功能
- 第二节:在gitlab上创建项目、组、用户
- 第三节:汉化gitlab
- 第四节:gitlab配置邮箱通知
- 第五节:gitlab配置https访问
- 第三章:使用过程常见的故障
- 第三部分: gogs版本控制系统
- 第一章:在centos6上基于二进制包安装gogs软件
- 第二章:gogs服务器的配置
- 第一节:gogs服务器上创建项目、用户
- 第二节:nginx反代gogs,通过https
- 第三节:gogs启动脚本
- 第四节:git保存密码到本地
- 第三章:gogs服务器的备份和恢复
- 第一节:gogs备份操作