GIT分支流程开发规范.docx

上传人:b****0 文档编号:9936705 上传时间:2023-05-22 格式:DOCX 页数:9 大小:160.29KB
下载 相关 举报
GIT分支流程开发规范.docx_第1页
第1页 / 共9页
GIT分支流程开发规范.docx_第2页
第2页 / 共9页
GIT分支流程开发规范.docx_第3页
第3页 / 共9页
GIT分支流程开发规范.docx_第4页
第4页 / 共9页
GIT分支流程开发规范.docx_第5页
第5页 / 共9页
GIT分支流程开发规范.docx_第6页
第6页 / 共9页
GIT分支流程开发规范.docx_第7页
第7页 / 共9页
GIT分支流程开发规范.docx_第8页
第8页 / 共9页
GIT分支流程开发规范.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

GIT分支流程开发规范.docx

《GIT分支流程开发规范.docx》由会员分享,可在线阅读,更多相关《GIT分支流程开发规范.docx(9页珍藏版)》请在冰点文库上搜索。

GIT分支流程开发规范.docx

GIT分支流程开发规范

GIT分支流程开发规范

∙分支流程说明

o简介

o必读文章

∙分支命令规范

o特性(功能)分支

obug修复分支、紧急bug修复分支

orelease分支

∙常用操作命令简介

o基本操作

o使用gitflow简化操作

▪初始化

▪功能分支

▪预发布分支

▪hotfix分支

▪git-flow备忘清单

∙发布代码流程

o发布Release

o发布Hotfix

∙总结

本文定位于为使用GIT标准分支开发流程的开发团队新人提供一份参考指南,其中的内容都是我们公司在研发团队初创时所遵循的一些开发流程标准,经过近一年的实践,虽说还有很多不足,但是随着团队经验的丰富和人员的扩张,我会适时地更新本文,分享我们在使用GIT开发流程中遇到的问题和解决方案。

分支流程说明

简介

项目中长期存在的两个分支

∙master:

主分支,负责记录上线版本的迭代,该分支代码与线上代码是完全一致的。

∙develop:

开发分支,该分支记录相对稳定的版本,所有的feature分支和bugfix分支都从该分支创建。

其它分支为短期分支,其完成功能开发之后需要删除

∙feature/*:

特性(功能)分支,用于开发新的功能,不同的功能创建不同的功能分支,功能分支开发完成并自测通过之后,需要合并到 develop 分支,之后删除该分支。

∙bugfix/*:

bug修复分支,从develop分支创建,用于修复不紧急的bug,普通bug均需要创建bugfix分支开发,开发完成自测没问题后合并到 develop 分支后,删除该分支。

∙release/*:

发布分支,用于代码上线准备,该分支从develop分支创建,创建之后由测试同学发布到测试环境进行测试,测试过程中发现bug需要开发人员在该release分支上进行bug修复,所有bug修复完后,在上线之前,需要合并该release分支到master分支和develop分支。

∙hotfix/*:

紧急bug修复分支,该分支只有在紧急情况下使用,从master分支创建,用于紧急修复线上bug,修复完成后,需要合并该分支到master分支以便上线,同时需要再合并到develop分支。

必读文章

团队中的Git实践Git在团队中的最佳实践—如何正确使用GitFlow

分支命令规范

特性(功能)分支

功能分支的分支名称应该为能够准确描述该功能的英文简要表述

1.feature/分支名称

例如,开发的功能为 新增商品到物料库,则可以创建名称为 feature/material-add的分支。

bug修复分支、紧急bug修复分支

bug修复分支的分支名称可以为Jira中bug代码或者是描述该bug的英文简称

1.bugfix/分支名称

2.hotfix/分支名称

比如,修复的bug在jira中代号为MATERIAL-1,则可以创建一个名为bugfix/MATERIAL-1的分支。

release分支

release分支为预发布分支,命名为本次发布的主要功能英文简称

1.release/分支名称

比如,本次上线物料库新增的功能,则分支名称可以为release/material-add。

常用操作命令简介

基本操作

基本命令这里就不多说了,基本跟以前一样,唯一的区别是注意分支是从哪里拉去的以及分支的命名规范。

涉及到的命令主要包含以下,大家自己学习:

∙gitcommit

∙gitadd[—all]

∙gitpush

∙gitpull

∙gitbranch[-d]

∙gitmerge

∙gitcherry-pick

∙gitcheckout[-b]BRANCH_NAME

∙gitstash

分支操作参考 Git常用操作-分支管理

使用gitflow简化操作

gitflow是git的一个插件,可以极大程度的简化执行git标准分支流程的操作,可以在gitflow-avh安装。

如果是windows下通过安装包安装的git,则该插件默认已经包含,可以直接使用。

初始化

使用gitflowinit初始化项目

1.$gitflowinit

2.Whichbranchshouldbeusedforbringingforthproductionreleases?

3.-develop

4.-feature-fulltext

5.-feature-vender

6.-master

7.Branchnameforproductionreleases:

[master]

8.Whichbranchshouldbeusedforintegrationofthe"nextrelease"?

9.-develop

10.-feature-fulltext

11.-feature-vender

12.Branchnamefor"nextrelease"development:

[develop]

13.Howtonameyoursupportingbranchprefixes?

14.Featurebranches?

[feature/]

15.Bugfixbranches?

[bugfix/]

16.Releasebranches?

[release/]

17.Hotfixbranches?

[hotfix/]

18.Supportbranches?

[support/]

19.Versiontagprefix?

[]

20.Hooksandfiltersdirectory?

[/Users/mylxsw/codes/work/e-business-3.0/.git/hooks]

功能分支

1.gitflowfeature

2.gitflowfeaturestart

3.gitflowfeaturefinish

4.gitflowfeaturedelete

5.gitflowfeaturepublish

6.gitflowfeaturetrack

功能分支使用例子:

1.$gitflowfeaturestartmaterial-add

2.Switchedtoanewbranch'feature/material-add'

3.Summaryofactions:

4.-Anewbranch'feature/material-add'wascreated,basedon'develop'

5.-Youarenowonbranch'feature/material-add'

6.Now,startcommittingonyourfeature.Whendone,use:

7.gitflowfeaturefinishmaterial-add

8.$gitstatus

9.Onbranchfeature/material-add

10.nothingtocommit,workingdirectoryclean

11.$gitflowfeaturepublish

12.Total0(delta0),reused0(delta0)

13.To:

801/yunsom/e-business-3.0.git

14.*[newbranch]feature/material-add->feature/material-add

15.Branchfeature/material-addsetuptotrackremotebranchfeature/material-addfromorigin.

16.Alreadyon'feature/material-add'

17.Yourbranchisup-to-datewith'origin/feature/material-add'.

18.Summaryofactions:

19.-Theremotebranch'feature/material-add'wascreatedorupdated

20.-Thelocalbranch'feature/material-add'wasconfiguredtotracktheremotebranch

21.-Youarenowonbranch'feature/material-add'

22.$vimREADME.md

23.$gitadd--all

24.$gitcommit-m"modifyreadmefile"

25.[feature/material-add7235bd4]modifyreadmefile

26.1filechanged,1insertion(+),2deletions(-)

27.$gitpush

28.Countingobjects:

3,done.

29.Deltacompressionusingupto4threads.

30.Compressingobjects:

100%(3/3),done.

31.Writingobjects:

100%(3/3),303bytes|0bytes/s,done.

32.Total3(delta2),reused0(delta0)

33.To:

801/yunsom/e-business-3.0.git

34.0d4fb8f..7235bd4feature/material-add->feature/material-add

35.$gitflowfeaturefinish

36.Switchedtobranch'develop'

37.Yourbranchisup-to-datewith'origin/develop'.

38.Updating0d4fb8f..7235bd4

39.Fast-forward

40.README.md|3+--

41.1filechanged,1insertion(+),2deletions(-)

42.To:

801/yunsom/e-business-3.0.git

43.-[deleted]feature/material-add

44.Deletedbranchfeature/material-add(was7235bd4).

45.Summaryofactions:

46.-Thefeaturebranch'feature/material-add'wasmergedinto'develop'

47.-Featurebranch'feature/material-add'hasbeenlocallydeleted;ithasbeenremotelydeletedfrom'origin'

48.-Youarenowonbranch'develop'

49.$gitbranch

50.*develop

51.feature-fulltext

52.feature-vender

53.master

预发布分支

1.gitflowrelease

2.gitflowreleasestart[]

3.gitflowreleasefinish

4.gitflowreleasedelete

hotfix分支

1.gitflowhotfix

2.gitflowhotfixstart[]

3.gitflowhotfixfinish

4.gitflowhotfixdelete

git-flow备忘清单

参考git-flow备忘清单

发布代码流程

发布Release

首先切换到release分支,之后依次执行下面的命令

1.gitflowreleasefinish

2.gitpush--all

3.gitpush--tags

发布Hotfix

首先切换到hotfix分支,依次执行下面的命令

1.gitflowhotfixfinish

2.gitpush--all

3.gitpush--tags

总结

如果上面内容太多记不住,也没有关系,作为开发人员,刚开始的时候只要知道以下几点就足够了,其它的可以在碰到的时候再深入学习:

∙所有的新功能开发,bug修复(非紧急)都要从develop分支拉取新的分支进行开发,开发完成自测没有问题再合并到develop分支

∙release分支发布到测试环境,由开发人员创建release分支(需要测试人员提出需求)并发布到测试环境,如果测试过程中发现bug,需要开发人员track到该release分支修复bug,上线前需要测试人员提交mergerequest到master分支,准备上线,同时需要合并回develop分支。

∙只有紧急情况下才允许从master上拉取hotfix分支,hotfix分支需要最终同时合并到develop和master分支(共两次merge操作)

∙除了master和develop分支,其它分支在开发完成后都要删除

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2