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

从零构建:基于OpenCV与人体姿态分析的跌倒检测实战(附完整源码)

本文详细介绍了如何从零构建基于OpenCV与人体姿态分析的跌倒检测系统,包含完整源码与部署指南。通过MediaPipe实时检测33个人体关键点,结合多条件联合判断算法,实现高精度跌倒识别。文章还提供了性能优化技巧、常见问题解决方案以及家用与养老院两种部署方案,帮助开发者快速落地这一计算机视觉应用。

weixin_29085151的博客 240

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

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

ajiong的博客 1823

AMG8833红外测温实战:在STM32F103上做个简易人体感应与温度报警器

本文详细介绍了如何在STM32F103上使用AMG8833红外测温传感器构建人体感应与温度报警系统。通过硬件连接方案、驱动代码开发、人体检测算法实现及报警系统设计,展示了如何利用8x8红外温度矩阵实现智能监测功能。文章包含实用的初始化流程、温度数据读取优化和低功耗策略,为创客项目提供完整解决方案。

weixin_33725239的博客 392

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

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

weixin_31417135的博客 1万+

Jetson Orin NX 单目标跟踪算法实战

本文对比了NanoTrack和MixFormerV2两种目标跟踪算法在Jetson Orin NX边缘设备上的实际表现。通过天空小目标跟踪场景测试发现,NanoTrack虽然表征能力较弱,但具有目标身份一致性强、失败模式可控、计算负担小等优势,更适合作为边缘端默认算法。MixFormerV2则适用于高速运动等特定场景。实验数据显示NanoTrack在Orin NX上可达200FPS,远高于MixFormerV2的38-120FPS。建议先采用NanoTrack构建稳定系统,后续再评估复杂算法的适用性。

karmueo46的博客 624

用Pixel5玩转AOSP:从零开始定制Android13系统(含GMS集成方案)

本文提供了一份详尽的Pixel 5 AOSP定制指南,涵盖从环境搭建、源码下载、系统编译到刷机的完整流程。重点解决了原生AOSP缺失Google移动服务(GMS)的难题,分享了从官方镜像提取并集成GMS组件的实战方案,助你打造独一无二的Android 13系统。

sam99的博客 526

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

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

沉在嵌入式的鱼的博客 1293

Blender到Unreal Engine高效资产迁移:Datasmith插件工作流详解

在3D内容创作与实时渲染领域,数字资产的无损迁移是连接创意设计与最终呈现的关键环节。其核心原理在于通过高保真的数据转换管道,替代传统离散的导出-导入流程,从而保留完整的场景层级、材质属性和关联信息。这项技术的核心价值在于极大提升了跨平台工作流的效率与数据保真度,减少了因格式转换导致的信息丢失和调试成本。它广泛应用于建筑可视化、产品设计、影视预演和游戏开发等场景,使艺术家能在专业DCC工具中专注创作,并一键同步至实时引擎进行交互式渲染与逻辑构建。本文聚焦于实现这一流程的**Datasmith**插件,并深入解

weixin_34110970的博客 266

Git代码分支管理规范

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

爱好技术的小老头 1880

基于STM32F103的智能门禁门锁门卫系统设计

本文设计了一种基于STM32F103单片机的智能门禁系统,集成了密码、射频IC卡和指纹识别三种验证方式。系统采用模块化设计,包含MFRC522射频模块、AS608指纹模块、矩阵键盘、OLED显示和舵机控制等硬件,实现了身份验证、密码修改、IC卡/指纹管理以及安全防护功能。测试结果表明系统响应迅速(密码验证250ms、指纹验证600ms)、功耗低(待机50mA),且具备掉电密码保存功能。该系统操作简便、功能完善,适用于家庭和办公场所,具有较高实用价值。未来可扩展远程控制、人脸识别等功能以进一步提升智能化水平。

3254968421的博客 316

PointNet++改进策略目录

后续我将如何使用文章中创新点加入的PointNet++中代码实现部分进行更新。

u012901740的博客 2195

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

git命令 个人随笔

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

华为OD机考双机位C卷 - 两个字符串间的最短路径(Java & Python& JS & C/C++ & GO )

华为OD机考双机位C卷 - 两个字符串间的最短路径(OD上机考试双机位C卷)。提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。

算法大师! 834

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

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

weixin_42510645的博客 1047

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

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

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

码猿技术专栏 615

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

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

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

CREATE_17的博客 395

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、付费专栏及课程。

余额充值