当前位置: 首页 > Linux

我敢打赌!这是全网最全的Git分支开发规范手册

时间:2023-04-06 05:35:55 Linux

Git是目前最流行的源代码管理工具。为了规范开发,保持代码提交记录和git分支结构清晰,方便后续维护,现规范git的相关操作。分支命名1.master分支master是主分支,也是用来部署生产环境的分支,保证master分支的稳定性。master分支一般由develop和hotfix分支合并,不能随时直接修改代码。2.develop分支develop是开发分支,始终保持最新完成和bug修复的代码,一般在开发新功能时,都会在develop分支的基础上创建特性分支。featurebranch在开发新功能时,在develop的基础上创建一个feature分支。分支命名:feature/开头的是feature分支,命名规则:feature/user_module,feature/cart_modulelease分支release是预发布分支,在release测试阶段,release分支代码会作为benchmark测试.当一组特性开发完成后,会先合并到开发分支,进入测试时再创建发布分支。如果测试过程中有bug需要修复,开发者会在release分支上直接修复并提交。测试完成后,release分支合并到master和development分支。此时master是最新的代码,用于在线。hotfixbranch分支命名:hotfix/以fix分支开头,其命名规则与feature分支类似。当线上出现紧急问题,需要及时修复。使用master分支作为基线来创建一个hotfix分支。修复完成后,需要合并到master分支和develop分支。添加新功能的常见任务(dev)$:gitcheckout-bfeature/xxx#从dev(feature/xxx)$创建一个功能分支$:blabla#Development(feature/xxx)$:gitaddxxx(feature/xxx)$:gitcommit-m'commitcomment'(dev)$:gitmergefeature/xxx--no-ff#将功能分支合并到dev以修复紧急bug(master)$:gitcheckout-bhotfix/xxx#创建hotfix从master(hotfix/xxx)$:blabla#Development(hotfix/xxx)$:gitaddxxx(hotfix/xxx)$:gitcommit-m'commitcomment'(master)$:gitmergehotfix/xxx--no-ff#将hotfix分支合并到master,并上线到生产环境(dev)$:gitmergehotfix/xxx--no-ff#将hotfix分支合并到dev,同步代码测试环境代码(release)$:gitmergedev--no-ff#将dev分支合并到release中,然后在测试环境拉取并测试生产环境上线(master)$:gitmergerelease--no-ff#合并release测试的代码进入master,运维人员操作(master)$:gittag-av0.1-m'部署包版本名'#命名版本并标记log规范在团队协作项目中,开发者往往需要提交一些代码来修复错误或实现新功能。而项目中的文件,实现什么功能,解决什么问题都会逐渐被遗忘,最后需要浪费时间去阅读代码。但是编写好的日志规范提交信息对我们有帮助,也反映了一个开发者是否是一个好的合作者。编写良好的Commit消息可以达到三个重要目的:加快审查过程,帮助我们编写好的版本发布日志,以便后续维护人员了解代码和功能添加的具体更改原因。目前,社区有多种Commit消息编写规范。从Angular规范来看是目前使用最广泛的一种写法,比较合理和系统。如下图所示:Commit消息的基本语法目前业界广泛使用的是《AngularGitCommitGuidelines》https://github.com/angular/an...具体格式为:

type:本次commit的类型,如bugfixdocsstyle等scope:本次commit影响的范围subject:简单说明本次commit的目的,原文中特别强调了几点:用祈使句,是很熟悉还是很陌生?词尾不要大写,不加标点正文:也用祈使句。在正文中,我们需要详细描述本次commit,比如本次变更的动机,如果需要改行,使用|footer:描述问题的类别描述或者breakchangeType与之关联:feat:addnewfeaturesfix:fixbugdocs:只修改文档样式:只修改空格,格式缩进,全部Okay,wait,nochangetothecodelogicrefactor:代码重构,无新特性或bug修复perf:addcodeforperformancetestingtest:addtestcaseschore:change构建过程,或添加依赖库、工具等Commitmessages格式要求#Titleline:50个字符以内,描述主要变化##Maincontent:更详细的描述文字,建议72个字符以内。需要描述的信息包括:##*为什么需要进行此更改?它可能被用来修复一个bug,添加一个特性,提高性能、可靠性、稳定性等。#*他是如何解决这个问题的?详细描述解决方案问题步骤#*有没有副作用和风险?##如有需要,可以添加问题地址或其他文档来源的链接:https://juejin.im/post/684490...