产品管理开发之Git工作流和分支规范推荐

前言

无论是开源项目还是内部项目,使用Git都是大势所趋,尤其是在产品管理这块,使用Git大大提高了开发效率和产品的交付频率。本篇,针对Git的工作流和分支使用,进行了一些推荐。

目录

1     产品管理开发之Git工作流和分支规范推荐

1.1      Git工作流模型推荐

1.2      Git产品开发分支规范要求

1.2.1      永久分支

1.2.1.1  master(稳定版)

1.2.1.2   开发版(develop)

1.2.2      临时性分支

1.2.2.1   功能(feature)分支

1.2.2.2   预发布(release)分支

1.2.2.3   修补bug(hotfix)分支

1.2.3      代码分支提交使用规范

1 产品管理开发之Git工作流和分支规范推荐

无论是开源项目还是内部项目,使用Git都是大势所趋。因此,针对Git的工作流和分支使用,本篇进行了一些推荐:

1.1   Git工作流模型推荐

1.2   Git产品开发分支规范要求

在产品开发或者复杂项目开发,我们推荐严格遵循此规范进行开发。对于中小项目和个人开发,您可以按需来设计自己的规范和要求。

1.2.1    永久分支

1.2.1.1    master(稳定版)

主分支,主分支只用来发布重大版本。所有提供给用户使用的正式版本,都在这个主分支上发布。

1.2.1.2    开发版(develop)

日常开发应该基于此分支来完成。

如果想正式对外发布,就在Master分支上,对Develop分支进行"合并"(merge)。

1.2.2    临时性分支

除了永久分支以外,还有一些临时性分支,用于应对一些特定目的的版本开发。临时性分支主要有三种:

  • 功能(feature)分支
  • 预发布(release)分支
  • 修补bug(hotfix)分支

这三种分支都属于临时性需要,使用完以后,应该删除,使得代码库的常设分支始终只有Master和Develop。

1.2.2.1    功能(feature)分支

功能分支,它是为了开发某种特定功能,从Develop分支上面分出来的。开发完成后,要再并入Develop。

功能分支的名字,请采用feature/feature1  的形式命名。

1.2.2.2    预发布(release)分支

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

预发布分支是从Develop分支上面分出来的,预发布结束以后,必须合并进Develop和Master分支。它的命名,请采用release/release1的形式。

1.2.2.3    修补bug(hotfix)分支

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

修补bug分支是从Master分支上面分出来的。修补结束以后,再合并进Master和Develop分支。它的命名,请采用hotfix/fixbug1的形式。

1.2.3    代码分支提交使用规范

    • 使用Git过程中,必须通过创建分支进行开发,坚决禁止在主干分支上直接开发。review的同事有责任检查其他同事是否遵循分支规范。
    • 在Git中,默认是不会提交空目录的,如果想提交某个空目录到版本库中,需要在该目录下新建一个.gitignore 的空白文件,就可以提交了
    • 把外部文件纳入到自己的Git 分支来的时候一定要记得是先比对,确认所有修改都是自己修改的,然后再纳入。
    • 提交时,一定要填写有意义的注释。注释内容要求如下:第一行为提要,然后逐行罗列出功能点、主要变动、以及需要注意的问题等等。具体如下所示:

注释提交模板:

简要说明(第一行)

(空行)

  1. (要点)
  2. (要点)

注释提交参考:

    1. 后台菜单管理增加区域菜单功能,修复日志记录器若干问题
    2. 后台菜单管理增加区域菜单功能,目前分为系统平台和租户平台,根据属性MenuPlatform来设置增加若干系统管理菜单
    3. 完善菜单模块,以便加载不同平台菜单
    4. 修复日志记录器为NULL的情形

原文地址:https://www.cnblogs.com/codelove/p/10640918.html

时间: 2024-07-29 11:10:28

产品管理开发之Git工作流和分支规范推荐的相关文章

Python全栈开发之Git

No.1 Git 特点 版本控制:可以解决多人同时开发的代码问题,也可以找回历史代码 分布式:Git是一个分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上,首先会有一台计算机充当服务器,这台计算机7*24小时服务,其他计算机都是从这台计算机克隆一份代码到自己的计算机中,并且各自把各自的修改提交到服务器仓库里,也可以从服务器仓库拉取别人的提交 安装 sudo apt-get install git -y No.2 版本创建与回退 使用 创建一个版本库 git init 创建一个版本 g

Android开发之Git配置

1.首先git配置: 输入命令: git config --global user.name "xxx.xx" git config --global user.email "[email protected]" git config --global commit.template "/home/xxx/commit.template" 名字改成自己的. 可以通过git config --global --list查看命令是否配置: user.

单片机开发之C语言编程基本规范

为了提高源程序的质量和可维护性,从而最终提高软件产品生产力,特编写此规范.本标准规定了程序设计人员进行程序设计时必须遵循的规范.本规范主要针对单片机编程语言和08编译器而言,包括排版.注释.命名.变量使用.代码可测性.程序效率.质量保证等内容. 1.基本规则 格式清晰.注释简明扼要.命名规范易懂.函数模块化.程序易读易维护.功能准确实现.代码空间效率和时间效率高.适度的可扩展性.单片机编程规范-标识符命名 2.标识符命名 2.1 命名基本原则 (1)命名清晰明了,有明确含义,使用完整单词或约定俗

Git 工作流规范参考

目录 引子 介绍 什么是成功的 Git 工作流 Git 工作流 GitHub 工作流 GitLab 工作流 规范参考 环境划分 分支策略 修复 bug 策略 其它情况处理 另外一种思路 规范参考简化 规范参考增强 参考资料 引子 本以为使用 Git 的工作流规范依据很普遍了,发现事实并不是那样.找了些资料,结合实际的工作情况,尝试整理出一个规范. Origin My GitHub 介绍 Git 工作流是一个如何使用 Git 以一致和高效的方式来完成工作的建议.在 Git 管理的项目中与团队合作时

Git 学习笔记<分支管理> (三)

分支是什么? 分支就像树分出的树枝,不同的是,它们之间可以互相合并. 将版本的推进想象成一个链表的伸长:  version 1.0 ==> version 2.0 ==>version3.0  . master是主要的分支基本上用于发布产品.你可以从master分出一个dev,在上面创建新功能,或者修bug然后调试.最后再合并到master里面.就像下面这样. master分支:  version 1.0=========>version 2.0===... \            

Git(3):分支管理

Git 分支管理 几乎每一种版本控制系统都以某种形式支持分支.使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作. 创建分支命令 $git branch <branch name> 切换分支命令(当你切换分支的时候,Git会用该分支的最后提交的快照替换你的工作目录的内容,所以多个分支不需要多个目录.) $git checkout <branch name> 列出分支命令 $git branch 删除分支命令 $git branch -d <branch

Git教程之分支管理之二

分支管理策略 通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息.如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息(有分支的commit id).下面我们实战一下--no-ff(ff:fast forward)方式的git merge:首先,仍然创建并切换dev分支:修改readme.txt文件,并提交一个新的commit: 现在,我们切换回master:准

Android开发之AudioManager(音频管理器)详解

AudioManager简介: AudioManager类提供了访问音量和振铃器mode控制.使用Context.getSystemService(Context.AUDIO_SERVICE)来得到这个类的一个实例. 公有方法: Public Methods int abandonAudioFocus(AudioManager.OnAudioFocusChangeListenerl) 放弃音频的焦点. void adjustStreamVolume(int streamType, int dir

四、git学习之——分支管理、解决冲突

分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN. 如果两个平行宇宙互不干扰,那对现在的你也没啥影响.不过,在某个时间点,两个平行宇宙合并了,结果,你既学会了Git又学会了SVN! 分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了.如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险. 现在有了分支,就不用怕了.你