Git 代码分支规范

Git使用规范 文章目录一、简介二、分支1、概念2、原则3、协同三、合并1、merge2、rebase3、原则四、代码管理规范1、目的2、适用对象3、原则4、分支管理5、工作流6、日志规范 一、简介         Git是分布式版本控制系统,与之对应另一种常用的SVN是集中式版本控制系统。它们的差异很大,主要是源于它们的设计思想,这里就不展开细说,大家可以自行查找资料。总体来说,Git更灵活、对工作环境依赖更小、更适合多人团队的协同工作,但是 阅读详情

目的

俗话说:没有规矩,不成方圆。遵循一个好的规章制度能让你的工作事半功倍。同时也可以展现出你做事的认真的态度以及你的专业性,不会显得杂乱无章,管理困难。Git分支规范也是一样。当遵循了某种约定的Git分支,在代码提交以及多开发、多分支协同工作的时候,必须遵循这个规范操作,否则不予以提交、合并代码、提测、上线等操作。

适用范围

适用Git管理开发的所有项目


分支约定

Git Flow有主分支和辅助分支两类分支,通常主分支也被称为长期分支。

  • 主分支用于组织与软件开发、部署相关的活动;

  • 辅助分支组织为了解决特定的问题而进行的各种活动。

主分支是所有开发活动的核心分支。所有的开发活动产生的输出物最终都会反映到主分支的代码中。

分支介绍

•    tag:

使用release发布生产成功后,三日之内把release分支合并到master上并打tag。

使用realase分支创建tag版本,使用tag进行线上部署

生产流水线自动打tag

•    master分支:

不接受commit,只接受来自realase分支的merge操作

分支必须开启分支保护,只有维护者可以操作

•    release分支:

可从test/master分支上拉取;

不接受commit,只接受来自对应test分支的合并操作;

普通开发人员不具有合并权限,需要管理员才能合并

release分支用于发布预生产环境部署;

上线成功后必须立即合并到master

release分支用于发布生产环境部署,上线完成后,禁止合并;

•    test分支

从master/develop分支拉取,用于测试环境部署

不接受commit提交,只接受来自对应develop的合并

•    develop分支:

从master/feature分支拉取,用于开发环境部署

不接受commit提交,只接受来自feature的合并

•    feature分支:

不限制从什么分支拉取,拉取代码时候版本号必须大于等于最新master的版本

可直接commit

一般不用于任何环境部署,特殊情况可以用于开发环境部署

禁止用于测试、预生产、灰度、生产部署

bug修复分支,也按feature分支规范和流程

•    hotfix分支

紧急bug修复分支,仅用于紧急的线上问题修复,普通bug修复还是使用feature分支规范

分支命名规则及对应环境

分支

命名规则

名称

环境

权限

master

master

主分支,保护分支,只接受merge 

-

保护

tag

 tag-{上线时间}-v{版本号} 

tag 如:tag-20220803-v1.2.0

-

只读

release

release-{时间}-{版本号}-{创建人} ;

 预上线分支;release-20220803-v1.2.0-liuyy 

预生产、生产

保护

test

test-{时间}-{功能描述}-{创建人} ;除了前缀,名称与develop一致

测试部署分支; test-20220803-superChargeV1-liuyy

测试

保护

develop

develop-{时间}-{功能描述}-{创建人}  ; 除了前缀,名称与feature一致

开发部署分支;develop-20220803-superChargeV1-liuyy

开发

常规

feature

 feature-{创建时间}-{功能描述}-{创建人} 

功能开发分支;feature-20220803-superChargeV1-liuyy

-

常规

hotfix

hotfix-{创建时间}-{bug描述}-{创建人}

紧急bug修复分支;hotfix-20220803-bugxxx-liuyy

不限

常规

分支规则正则:

--javascripttypescriptbashsqljsonhtmlcssccppjavarubypythongorustmarkdown

^(test|feature|develop|hotfix)-(20\d{6})(-\w+){2}$|^(release|tag)-(20\d{6})-v\d+(\.\d+){2}(-\w+){0,1}$

分支使用示意图

总结

1、一个上线需求一个feature分支,正常情况feature、develop、test、release分支是一一对应的

2、如果有多个需求需要合并上线,那么需要从develop分支开始合并,即多个feature对一个develop分支,但develop、test、release也还是一一对应的

3、除了feature分支外,所有分支都不接受commit,只接受合并

4、普通bug修复使用feature分支,流程一样

5、紧急bug修复走hotfix分支流程

6、所有上线的代码必须走完完整的develop、test、release流程

代码提交规范

  • 所有commit必须有注释,内容必须简洁明了的描述本次commit涵盖了哪些内容。严禁注释内容过于简单或不能明确表达提交内容的!

  • 合理控制提交内容的颗粒度,一次commit含一个独立功能点。严禁一次提交涵盖多个功能项。

  • 提交注释字符数务必大于8, 尽量控制在60个字符之内。

建议参考规范:

示例:

fix(首页模块):修复弹窗 JS Bug。

type(可选)表示动作类型,可分为:

  • fix:修复 xxx Bug

  • feat:新增 xxx 功能

  • test:调试 xxx 功能

  • style:变更 xxx 代码格式或注释

  • docs:变更 xxx 文档

  • refactor:重构 xxx 功能或方法

scope(可选) 表示影响范围,可分为:模块、类库、方法等。

subject(必须) 表示简短描述,大于8个字符,小于 60 个字,如果有编号的 Jira 号,建议在描述中加上。

代码分支管理 代码分支管理规范。 阅读详情

相关推荐

GitLab使用规范

GitLab使用规范

hezhanran的博客 2605

Git:Git分支管理规范 / 常用命令

因此,分支管理的需求应运而生。7、Pull requests (PR): Fork之后,如果希望将自己的修改贡献到原始代码中,可以使用pull requests推送请求到原来仓库中,然后,原始代码的作者,根据你提交的内容,考虑是否真的放入源码中。3、在编译器把开发分支合并到临时mid分支,这是冲突的文件与内容在编译器就可以看到了,找到冲突的代码,检查,不能准确处理的,需要与当事人当面一起处理。6、Fork: 克隆别人的代码库到自己的github项目中,可以作为子模块的形式使用,或二次开发。

snow的博客 9524

通过Git分支来规范代码上线流程

以前在美乐乐时,最让人混乱的是代码版本的控制,只有一个SVN Master,所有开发人员都往里面提交,经常遇到几个同事同时改了一个文件,但是他的代码不能上线,大家就只能根据SVN日志提取版本发到线上,如果有紧急BUG还得去麻烦主管拉取线上的文件下来,不仅增加大家工作量,还特别容易出错。使用了分支策略后,感觉倍儿爽。 这位大神讲得非常好 http://www.ruanyifeng.com/blog/

我会唱小星星 5740

git分支规范

git分支类型

Sky_suny的博客 2148

将分支代码合并到master_Git 分支设计规范

概述这篇文章分享 Git 分支设计规范,目的是提供给研发人员做参考。规范是死的,人是活的,希望自己定的规范,不要被打脸。在说 Git 分支规范之前,先说下在系统开发过程中常用的环境。DEV 环境:用于开发者调试使用。FAT 环境:功能验收测试环境,用于测试环境下的软件测试者测试使用。UAT 环境:用户验收测试环境,用于生产环境下的软件测试者测试使用。PRO 环境:就是生产环境。比如,项目域名为:h...

weixin_33778479的博客 845

独立游戏开发者的新武器:实测腾讯混元3D自动绑骨,搭配Mixamo让角色动画制作效率翻倍

本文实测腾讯混元3D自动绑骨功能与Mixamo动画库的协同使用,显著提升独立游戏开发者的角色动画制作效率。通过解决卡通角色绑骨偏差、优化骨骼权重及动画状态机配置,使原本两周的流程缩短至三天,并分享Unity中的性能优化与版权合规要点。

weixin_42662605的博客 488

GIT分支管理和代码提交规范

GIT分支管理规范、代码提交规范、版本号命名规范

ajiong的博客 1823

参考线平滑-FemPosDeviation-SQP

使用SQP(顺序二次规划)对离散点进行平滑

mpt0816的博客 2437

dev分支和master是什么_别乱提交代码了,你必须知道的 Git 分支开发规范!

Java技术栈www.javastack.cn关注阅读更多优质文章作者:稻草叔叔来源:juejin.im/post/6844903635533594632Git 是目前最流行的源代码管理工具。为规范开发,保持代码提交记录以及 git 分支结构清晰,方便后续维护,现规范 git 的相关操作。分支命名1、master 分支master 为主分支,也是用于部署生产环境的分支,确保master分...

weixin_31417135的博客 1万+

手把手教你用Python实现ITRS与GCRS坐标转换(附完整代码)

本文详细介绍了如何使用Python的Astropy库实现ITRS与GCRS坐标转换。文章从环境配置、坐标对象构建入手,深入解析了transform_to方法背后的转换矩阵与地球定向参数管理,并通过卫星地面轨迹计算实战案例,帮助开发者掌握高精度空间坐标转换的核心技术与工程实践。

weixin_28335283的博客 78

史上最全的Logisim运算器实验教程(基于华中科技大学计算机组成原理实验)

本博客是实现了Logisim的运算器设计,有具体的运算器设计的思路和运算器设计的电路,适合一步一步的按照思路做。

qq_62325622的博客 4万+

Git代码提交规范、分支管理和版本号管理

本文提出了规范的代码管理流程,旨在优化多人协作开发效率。主要内容包括:1)采用语义化版本号管理,明确主版本、次版本和修订号的变更规则;2)制定严格的代码提交规范,要求注明修改内容及影响范围;3)建立分类明确的分支管理体系(master、release、feature、hotfix),并规范各分支的合并权限与流程;4)强调功能开发与Bug修复的不同处理方式;5)提出协同开发时的操作规范,包括禁止擅自修改他人分支等要求。最后建议将通用代码组件化以降低维护成本。

沉在嵌入式的鱼的博客 1293

Ubuntu22.04+Docker一键部署Autoware Universe避坑指南(附鱼香ROS配置)

本文详细介绍了在Ubuntu22.04系统中使用Docker一键部署Autoware Universe的完整流程,包括鱼香ROS工具链配置、Docker环境优化及VSCode开发环境集成。通过实战指南帮助开发者快速搭建自动驾驶开发环境,解决常见部署问题,提升开发效率。

weixin_29254673的博客 413

Git代码分支管理规范

git管理规范,可根据情况选择一个合适当前系统的分支管理规范进行代码管理

爱好技术的小老头 1880

万字长文带你由浅入深夯实ARM汇编基础——汇编指令及寻址方式最全梳理(附示例)!

见到汇编就害怕?读完这篇,扫除汇编拦路虎!!(示例丰富,可做手册,随手查阅!)

车载系统攻城狮 1万+

Imagiq AI-PQ 图像质量增强模块详解:联发科 ISP 中的 AI 图像管线实战解析

随着智能手机影像系统对图像质量要求的持续提升,联发科在其 Imagiq ISP 中引入了 AI 驱动的图像增强模块——AI-PQ(AI-based Picture Quality),通过 AI 模型对亮度、色彩、噪声、锐度等多个维度进行动态调节与增强,实现更加智能化和个性化的图像输出效果。AI-PQ 在实际工程中已成为影响照片风格、视频观感和多模组一致性的核心能力之一。本文围绕 Imagiq 平台最新一代 AI-PQ 模块(2024-2025年量产平台为基础),结合实机开发与调优经验,深入剖析其各子模块的算

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 1417

git上传代码/新建分支/合并分支/备注规范 个人随笔

git命令 个人随笔

一个超爱喝可乐的web前端攻城狮 942

智能车图像处理3-入门级分析2 ---直道冲刺

PS :入门级文章适合新手,如果已经有基础可以去看进阶篇文章。

taiyuezyh的博客 4298

angular代码规范_后端必备的 Git 分支开发规范指南

作者:稻草叔叔http://juejin.im/post/5b4328bbf265da0fa21a6820Git 是目前最流行的源代码管理工具。为规范开发,保持代码提交记录以及 git 分支结构清晰,方便后续维护,现规范 git 的相关操作。分支管理分支命名master 分支master 为主分支,也是用于部署生产环境的分支,确保master分支稳定性master 分支一般由develop以及ho...

weixin_42510645的博客 1047

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

别乱提交代码了,你必须知道的 Git 分支开发规范!

点击上方☝码猿技术专栏轻松关注!及时获取有趣有料的技术文章作者:稻草叔叔来源:juejin.im/post/6844903635533594632Git 是目前最流行的源代码管理工具。...

码猿技术专栏 615

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

别乱提交代码了,你最好知道的 Git 分支开发规范!别错过好文哦

点击上方蓝色“大数据实战演练”,选择“设为星标”或“置顶”回复“资料”领取独家整理的学习资料!每一个成功人士的背后,必定曾经做出过勇敢而又孤独的决定。放弃不难,但坚持很酷~作者:稻草叔叔来...

CREATE_17的博客 395

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

vid2vid版本控制:Git分支管理与代码提交规范

在开源项目协作中,有效的版本控制策略是保证开发效率和代码质量的关键。vid2vid作为基于PyTorch的高分辨率视频转视频翻译项目,其复杂的网络架构(如[models/vid2vid_model_G.py](https://link.gitcode.com/i/4b6be94882a7e3eaac892d1ae5973275)中的生成器设计)和多场景适配需求(街道、人脸、姿态等数据集),更需要规...

gitblog_00535的博客 1002

Git 团队协作规范:让代码提交、分支管理更专业

规范的落地需要团队成员的共同遵守,更需要借助工具自动化执行。

学海无涯,笃行致远 370

IDEA VScode Git 标准操作规范,更新代码、提交代码、切换分支、合并分支、暂存代码、回滚代码、创建分支、打 Tag 标签

IDEA VScode Git 标准操作规范,更新代码、提交代码、切换分支、合并分支、暂存代码、回滚代码、创建分支、打 Tag 标签

道友 2281

git 申请项目保护分支 代码提交权限_超实用的代码版本管理规范流程

版本管理(Revision control)是一种软件工程方法,在开发的过程中,确保由不同开发人员编辑的同一档案都得到更新。代码版本管理其实就是我们在日常的开发过程中,将每天、每个阶段、每个功能等要求完成之后,将我们的代码再提供给他人的一种行为。这个行为的目的就是,让每一个人的开发过程都有据可查,最后实现多人合作开发的目的。目前市面上比较流行的是通过 Git 进行代码版本管理,因为它易于学习,占用...

weixin_34002071的博客 2107
上一篇: Java中的注解可以继承吗?
下一篇: 代码评审(Code Review)规范
shadow_zed
博客等级 码龄10年 6289粉丝 68原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值