有不少开发者们不习惯使用Git分支开发。原因有如下几个方面?
(1)不熟悉不习惯;
(2)觉得太麻烦;
今天我想说的是使用git分支开发绝对是一个高效版本控制的做法。

当你遇到测试人员给你提的bug,你只需将其pull下来,并执行git checkout -b bug-solution01该命令即可,这条命令是切换并创建分支,当你切换到创建的分支时,便可以着手解决对应的bug,解决这个bug后,然后执行git checkout master后,再执行git merge bug-solution01该命令合并分支即可。
不过在一些中大公司里面,它们并不会通过主分支来合并侧分支,而是有一个开发分支,通过开发分支合并开发者分支,最后通过持续集成使master分支和开发分支合并集成测试部署(其实也是可以手动切换到master分支合并开发分支)等。假设有A、B、C等三个开发者,通常分支的形式是这样:

  • 主分支(master)
  • 开发分支(project-dev)
  • 开发者分支(A开发者分支、B开发者分支、C开发者分支等)

假设我是开发者A,测试给我提了一个bug,我在A分支的基础上创建一个解决bug分支(暂且命名为a-bug-solution),当我在a-bug-sllution分支上解决了这个bug并git commit提交到本地仓库后,然后通过git log查看对应的日志(防止提交失败或者其它意外),查看有对应的提交记录后,然后我切换到a-project-dev分支上执行git merge a-bug-solution,合并该分支,合并该分支成功后,然后我再次切换到project-dev分支上,执行git merge a-project-dev进行合并,合并成功后,我就可以不管了,因为剩下的可以交给持续集成工具(jenkins等)。

上述说起了,大家可能觉得很麻烦或者是没必要这样做,原因可能觉得太耽误时间了,我的回答是非也,一开始可能有点麻烦,越到后面你会越发现它的好处,让你情不自禁地爱上它。

分支开发的好处,是真正的确保每个人有自己的独立分支而不是全部在master分支上开发,全部在master分支上开发,弊端太多,比如隔离性太差了,而且全部在一个分支上开发的话,经常面临的就是解决冲突(在自己的分支上开发进行合并与全部在一个主分支上开发进行对比,如果代码提交相对频繁,你将会发现你永远都在解决冲突,如果提交缓慢的话,你还是发现在解决冲突,实际上你并不需要解决太多冲突,很多冲突是没有必要的)。

最后归纳总结一下,分支开发的好处:

    • 版本迭代更加清晰
    • 开发效率提升
    • 利于代码review的实现,从而使整个团队开发更加规范,减少bug率

git分支开发的好处的更多相关文章

  1. 使用Git分支开发新特性或修复Bug与使用Git分支开发新特性或修复Bug

    使用Git分支开发新特性或修复Bug 通过分支,可以在不影响原有代码的前提下改变代码,主要用于开发新功能新特性.下 一代产品 为已经发布的正式版修复bug 团队开发时为每个人建立一个分支,从而避免相互 ...

  2. Git 分支开发规范

    您必须知道的 Git 分支开发规范 Git 是目前最流行的源代码管理工具. 为规范开发,保持代码提交记录以及 git 分支结构清晰,方便后续维护,现规范 git 的相关操作. 分支管理 分支命名 ma ...

  3. IDEA下Git分支开发

    IDEA下Git分支开发使用 1.新建本地开发分支 VCS-->git-->branches-->New Branch,输入分支名字,如branch_test,点击OK后本地开发分支 ...

  4. 您必须知道的 Git 分支开发规范

    Git 是目前最流行的源代码管理工具. 为规范开发,保持代码提交记录以及 git 分支结构清晰,方便后续维护,现规范 git 的相关操作. 分支管理 分支命名 master 分支 master 为主分 ...

  5. 后端必备的 Git 分支开发规范指南 转

    原文链接 作者:稻草叔叔 http://juejin.im/post/5b4328bbf265da0fa21a6820 点击上方 "后端技术精选",选择 "置顶公众号&q ...

  6. git分支开发,分支(feature)同步主干(master)代码,以及最终分支合并到主干的操作流程

    由于rebase执行速度慢,分支同步主干代码时,分支的每次提交都可能和主干产生冲突,需要解决的次数太多,影响提交效率. 同时,为了保证主干提交线干净(可以安全回溯),所以采用下面所说的merge法. ...

  7. 『现学现忘』Git分支 — 38、Git分支介绍

    目录 1.Git分支简介 2.Git分支与SVN分支的区别 3.工作中为什么要使用分支 4.Git分支管理的好处 1.Git分支简介 几乎所有的版本控制系统都以某种形式支持分支. 使用分支意味着,你可 ...

  8. 项目开发中git常用命令、git工作流、git分支模型

    #新建代码库git init # 在当前目录新建一个Git代码库git init [project-name] # 新建一个目录,将其初始化为Git代码库git clone [url] # 下载一个项 ...

  9. git flow开发分支管理模型

    Git Flow 是什么 Git Flow是构建在Git之上的一个组织软件开发活动的模型,是在Git之上构建的一项软件开发最佳实践.Git Flow是一套使用Git进行源代码管理时的一套行为规范和简化 ...

随机推荐

  1. redis中各种数据类型的常用操作方法汇总

    在spring中使用jedisTemplate操作,详见https://www.cnblogs.com/EasonJim/p/7803067.html 一.Redis的五大数据类型 1.String( ...

  2. eclipse安装其他颜色主题包

    eclipse安装其他颜色主题包: 用Help-Install new software安装的时候,work with的URL是 http://eclipse-color-theme.github.c ...

  3. Android 7.0 新特性

    Android7.0提供新功能以提升性能.生产效率和安全性. 关于Android N的性能改进,Android N建立了先进的图形处理Vulkan系统,能少的减少对CPU的占用.与此同时,Androi ...

  4. SQL Server中授予用户查看对象定义的权限

    SQL Server中授予用户查看对象定义的权限   在SQL Server中,有时候需要给一些登录名(用户)授予查看所有或部分对象(存储过程.函数.视图.表)的定义权限存.如果是部分存储过程.函数. ...

  5. 配置正确情况下,hadoop 没有namenode的一个解决方法

    将hdfs里name与data清空,和将tmp清空 然后在hadoop目录下运行 hadoop namenode -format 启动   sbin/start-all.sh

  6. c# 建立到数据源的连接 以及获取项目配置文件的属性

    两种连接数据库的写法: <connectionStrings> <add name="HRModelsContainer" connectionString=&q ...

  7. mssql-sqlserver入门必备知识收集

    一.了解SQL 数据库的应用场景 sql 简介 二. 检索数据 SELECT语句    检索单个.多及所有列的方法分享 检索不同的值   限制结果   sqlserver注释编写方法 三.排序检索数据 ...

  8. 常用的几条sql语句

    ### 常用的几条sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,v ...

  9. [Hive_add_6] Hive 实现 Word Count

    0. 说明 Hive 通过 explode()函数 和 split()函数 实现 WordConut 1. Hive 实现 Word Count 方式一 1.1 思路 将每一行文本变为 Array 数 ...

  10. VueJs入门(一)

    VueJs学习笔记:基本概念及简单demo Vue官方介绍:简单小巧的核心,渐进式技术栈,足以应付任何规模的应用. 简单小巧指的是vue.js压缩后仅有17KB,量轻.渐进式指的是我们学习和使用vue ...