大厂都在用的Git代码管理规范

mipi deskew原理理解 何为skew, 从字面意思看是倾斜了,不对齐了;放在mipi的传输中意思就是clock lane和data lane 及data lane与data lane间出现了相位差;一旦出现相位差,大家采样数据时就可能不在同一个节拍上,会出现传输错误。所以就要做deskew,通过做deskew来使得大家重新对齐,在同一个节奏下传输数据. 一般当data rate高于1.5G时建议开启deskew。 阅读详情

👉 这是一个或许对你有用的社群

🐱 一对一交流/面试小册/简历优化/求职解惑,欢迎加入「芋道快速开发平台」知识星球。下面是星球提供的部分资料: 

1e85e1bb9a02578dba2eea4aa3fcb5ad.gif

👉这是一个或许对你有用的开源项目

国产 Star 破 10w+ 的开源项目,前端包括管理后台 + 微信小程序,后端支持单体和微服务架构。

功能涵盖 RBAC 权限、SaaS 多租户、数据权限、商城、支付、工作流、大屏报表、微信公众号等等功能:

  • Boot 地址:https://gitee.com/zhijiantianya/ruoyi-vue-pro

  • Cloud 地址:https://gitee.com/zhijiantianya/yudao-cloud

  • 视频教程:https://doc.iocoder.cn

来源:码农参上


分支命名

master 分支

master 为主分支,也是用于部署生产环境的分支,需要确保master分支稳定性。master 分支一般由 release 以及 hotfix 分支合并,任何时间都不能直接修改代码。

develop 分支

develop 为开发环境分支,始终保持最新完成以及bug修复后的代码,用于前后端联调。一般开发的新功能时,feature分支都是基于develop分支创建的。

feature 分支

开发新功能时,以develop为基础创建feature分支。

分支命名时以 feature/ 开头,后面可以加上开发的功能模块, 命名示例:feature/user_module、feature/cart_module

test分支

test为测试环境分支,外部用户无法访问,专门给测试人员使用,版本相对稳定。

release分支

release 为预上线分支(预发布分支),UAT测试阶段使用。一般由 test 或 hotfix 分支合并,不建议直接在 release 分支上直接修改代码。

hotfix 分支

线上出现紧急问题时,需要及时修复,以master分支为基线,创建hotfix分支。修复完成后,需要合并到 master 分支和 develop 分支。

分支命名以hotfix/ 开头的为修复分支,它的命名规则与 feature 分支类似。

基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/ruoyi-vue-pro

  • 视频教程:https://doc.iocoder.cn/video/

分支与环境对应关系

在系统开发过程中常用的环境:

  • DEV 环境(Development environment):用于开发者调试使用

  • FAT环境(Feature Acceptance Test environment):功能验收测试环境,用于测试环境下的软件测试者测试使用

  • UAT环境 (User Acceptance Test environment):用户验收测试环境,用于生产环境下的软件测试者测试使用

  • PRO 环境(Production environment):生产环境

对应关系:

分支功能环境可访问
master主分支,稳定版本PRO是
develop开发分支,最新版本DEV是
feature开发分支,实现新特性
否
test测试分支,功能测试FAT是
release预上线分支,发布新版本UAT是
hotfix紧急修复分支,修复线上bug
否

分支合并流程规范

业界常见的两大主分支(master、develop)、三个辅助分支(feature、release、hotfix)的生命周期:

22b1bf5773d6cf183da4ba49debae54d.png

以上生命周期仅作参考,不同开发团队可能有不同的规范,可自行灵活定义。

例如我们团队在开发时,至少需要保证以下流程:

  • develop 分支和 hotfix 分支,必须从 master 分支检出

  • 由 develop 分支合并到 test 分支

  • 功能测试无误后,由 test 分支合并到 release 分支

  • UAT测试通过后,由 release 分支合并到 master分支

  • 对于工作量小的功能开发(工时小于1天),可以直接在devolop 分支进行开发,否则由 develop 分支检出 feature 分支进行开发,开发完后合并到develop 分支

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/yudao-cloud

  • 视频教程:https://doc.iocoder.cn/video/

Git Commit Message规范

Git commit message规范指提交代码时编写的规范注释,编写良好的Commit messages可以达到3个重要的目的:

  • 加快代码review的流程

  • 帮助我们编写良好的版本发布日志

  • 让之后的维护者了解代码里出现特定变化和feature被添加的原因

Angular Git Commit Guidelines

业界应用的比较广泛的是Angular Git Commit Guidelines:

<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
  • type:提交类型

  • scope:可选项,本次 commit 波及的范围

  • subject:简明扼要的阐述下本次 commit 的主旨,在Angular Git Commit Guidelines中强调了三点。使用祈使句,首字母不要大写,结尾无需添加标点

  • body: 同样使用祈使句,在主体内容中我们需要把本次 commit 详细的描述一下,比如此次变更的动机

  • footer: 描述下与之关联的 issue 或 break change

简易版

项目中实际可以采用简易版规范:

<type>(<scope>):<subject>

type规范

Angular Git Commit Guidelines中推荐的type类型如下:

  • feat: 新增功能

  • fix: 修复bug

  • docs: 仅文档更改

  • style: 不影响代码含义的更改(空白、格式设置、缺失 分号等)

  • refactor: 既不修复bug也不添加特性的代码更改

  • perf: 改进性能的代码更改

  • test: 添加缺少的测试或更正现有测试

  • chore: 对构建过程或辅助工具和库(如文档)的更改

除此之外,还有一些常用的类型:

  • delete:删除功能或文件

  • modify:修改功能

  • build:改变构建流程,新增依赖库、工具等(例如webpack、gulp、npm修改)

  • test:测试用例的新增、修改

  • ci:自动化流程配置修改

  • revert:回滚到上一个版本

单次提交注意事项

  • 提交问题必须为同一类别

  • 提交问题不要超过3个

  • 提交的commit发现不符合规范,git commit --amend -m "新的提交信息"或 git reset --hard HEAD 重新提交一次

配置.gitignore文件

.gitignore是一份用于忽略不必提交的文件的列表,项目中可以根据实际需求统一.gitignore文件,减少不必要的文件提交和冲突,净化代码库环境。

通用文件示例:

HELP.md
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/

## STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache

## IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr

## NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/

## VS Code ###
.vscode/

# Log file
*.log
/logs*

# BlueJ files
*.ctxt

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.jar
*.war
*.ear
*.zip
*.tar.gz
*.rar
*.cmd

其他

此外,还有一些其他建议:

  • master 分支的每一次更新,都建议打 tag 添加标签,通常为对应版本号,便于管理

  • feature分支、hotfix分支在合并后可以删除,避免分支过多管理混乱

  • 每次 pull 代码前,提交本地代码到本地库中,否则可能回出现合并代码出错,导致代码丢失


欢迎加入我的知识星球,全面提升技术能力。

👉 加入方式,“长按”或“扫描”下方二维码噢:

2ee0ffcef826dda14b484b83ed1f2a57.png

星球的内容包括:项目实战、面试招聘、源码解析、学习路线。

97ccabfa7b722bfeb560c3f1f934a1d4.png

ff2164a0cdb7472a9271010be0c09fa1.pngfc00bf8434cc20bba68afc32bbd60353.png8d653054cc2ffa49c9affffacbb0c465.pngf5402ac7a507005fac6634934c101b72.png

文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)
LMX2595实战:手把手教你配置JESD204B时钟与SYSREF(含相位同步避坑指南) 本文详细介绍了LMX2595在JESD204B时钟系统中的配置与优化方法,包括时钟系统架构设计、相位同步配置、SYSREF生成技巧以及PCB布局规范。通过实战案例和避坑指南,帮助工程师充分发挥LMX2595的超低相位噪声和抖动性能,确保高速数据转换器系统的稳定性和同步精度。 阅读详情

相关推荐

AMCL代码详解(六)amcl中的重采样

每次都从w1左边的竖线开始转,显而易见,转到w1的概率为0-w1之间的随机数,转到w2的概率为w1到w1+w2之间的随机数,转到w3的概率为w1+w2到w1+w2+w3之间的随机数,后面的依次类推。当某个粒子的权值较大的时候,产生的随机数落在相应区间的概率就会增大,从而实现了对权值大粒子的多次复制,权值小的粒子的剔除。可以看出,在整个重采样的过程中,粒子进行了两次种情况的刷新,一种是随机生成的新的粒子,一种是对原来的粒子的复制。得到的值越大,说明粒子的权重越小,当前粒子的可信度比较小,需要重采样粒子。

YiYeZhiNian的博客 1579

一篇搞懂企业中git的使用(个人笔记自用,持续更新)

如果你刚入职一家公司,有了git团队开发的需求,看这一篇就对了

qq_45952745的博客 1239

基于Labview2012实现的双通道信号源(课程设计)

双通道信号源,产生8种波形,能进行调制,带信号幅度与频率扫描功能,波形可存储与导入

qq_40617082的博客 1461

git工作流(Gitflow/gitlab代码权限管理)

现状 团队之前使用SVN进行代码管理,也没有很好的利用分支管理代码版本。版本冲突问题比较严重,版本库里的代码不能作为稳定代码。 开发人员永远不知道生产上代码长啥样(环境上是编译后的jar),提测需要跟测试版本比较,上生产需要跟生产版本比较,混乱的一匹。 基于以上原因(尽管svn也有办法解决版本问题),直接在团队里推行了git版本管理,部署了gitlab做管理工具,并参考了网上各种资料以及以前公司的...

weixin_34307464的博客 274

ArduPilot移植到自定义硬件:完整指南

详解如何将ArduPilot成功移植到自定义硬件平台,涵盖环境搭建、代码配置与调试技巧。无论是初学者还是进阶开发者,都能快速掌握ArduPilot在不同硬件上的适配方法,提升开发效率。

weixin_28931449的博客 638

无人机核心部件解析:从机架到飞控的全面指南

本文全面解析无人机的核心部件,从机架材质选择到飞控系统调参,提供专业指南。重点介绍碳纤维机架、无刷电机搭配、锂聚合物电池管理及飞控传感器配置,帮助读者掌握无人机组装与优化的关键技术,适用于航拍、测绘、农业植保等多种应用场景。

weixin_30872499的博客 467

git代码上传及权限管理

服务器端操作: 1. 在服务器上的/usr/dsx_server/git_root/目录新建要上传代码的目录名,注意目录名带上.git。例如:mkdir test_project.git 2. 进入刚才创建的目录。例如:cd test_project.git 3. 初始化为git仓库。注意服务器端的 git init命令一定要带上 --bare。例如:git init --bare 本地电脑操作: 1. 进入代码根目录,先从其他项目拷贝del_git.sh脚本文件到根目录,然后运行del_git.sh

checkchen99的博客 1861

大彩串口屏+LUA避坑指南:从Flash读写到控件状态配置的5个常见问题

本文针对大彩串口屏的LUA脚本开发,深度剖析了Flash数据存储与控件状态配置中的5个常见陷阱。重点讲解了如何通过标志位安全初始化Flash、正确处理多字节数据转换,以及如何精准配置按钮与文本控件的状态与事件响应,帮助开发者提升开发效率与代码可靠性。

weixin_27945229的博客 243

大厂的Git代码管理规范是怎样的?

master 为主分支,也是用于部署生产环境的分支,需要确保master分支稳定性。对于工作量小的功能开发(工时小于1天),可以直接在devolop 分支进行开发,否则由 develop 分支检出 feature 分支进行开发,开发完后合并到develop 分支。develop 为开发环境分支,始终保持最新完成以及bug修复后的代码,用于前后端联调。一般开发的新功能时,feature分支都是基于develop分支创建的。线上出现紧急问题时,需要及时修复,以master分支为基线,创建hotfix分支。

IT界那些事儿 353

2025虚幻游戏逆向工程解包尝试

2025虚幻游戏逆向工程解包指南 本文详细介绍了虚幻引擎5游戏逆向解包的完整流程,主要包括获取AES密钥、生成映射文件和导出资源三个关键步骤。作者在实际操作中遇到诸多难题:AES密钥获取工具存在加壳保护问题,映射文件生成器依赖复杂的VS编译环境,DLL注入工具的使用也存在技术门槛。通过多次尝试,作者发现部分游戏可直接搜索现成的AES密钥,而映射文件生成需要额外下载Memcury依赖库才能正常编译。文章提供了相关工具的下载链接和具体操作说明,但同时也指出每个环节都可能出现意外状况,逆向工程实际执行过程远比理论

wsdchong的博客 6151

C/C++炫酷烟花①(完整代码)

C/C++实现炫酷烟花动画的完整代码。

AIGC 2万+

大厂代码管理git规范

qq_54655817的博客 439

LVGL(lv_table)

LVGL中的lv_table是一个轻量级表格控件,用于显示行列式文本数据。它支持设置单元格内容/样式、行列调整、事件响应等基础功能,适用于参数配置、数据展示等场景。通过API可快速创建表格,设置行列数、填充数据,并自定义对齐方式与样式。但需注意默认无滚动条、行数限制等问题。该控件适合简单表格需求,复杂交互需结合自定义事件处理。

m0_49476241的博客 1263

大厂都在用的 Git 代码管理规范 !

???? 欢迎加入小哈的星球,你将获得:专属的项目实战 / Java 学习路线 /一对一提问 / 学习打卡 / 赠书福利全栈前后端分离博客项目 2.0 版本完结啦,演示链接:http://116.62.199.48/,新项目正在酝酿中。全程手摸手,后端 + 前端全栈开发,从 0 到 1 讲解每个功能点开发步骤,1v1 答疑,直到项目上线。目前已更新了239小节,累计38w+字,讲解图:164...

犬小哈 451

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

大厂的 Git 代码管理规范是怎样的?

master 为主分支,也是用于部署生产环境的分支,需要确保 master 分支稳定性。•对于工作量小的功能开发(工时小于 1 天),可以直接在 devolop 分支进行开发,否则由 develop 分支检出 feature 分支进行开发,开发完后合并到develop 分支。使用祈使句,首字母不要大写,结尾无需添加标点。线上出现紧急问题时,需要及时修复,以 master 分支为基线,创建 hotfix 分支。•feature 分支、hotfix 分支在合并后可以删除,避免分支过多,管理混乱。

吒哇 309

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

大厂GIT代码规范

为开发环境分支,始终保持最新完成及 bug 修复后的代码,用于前后端联调。:为主分支,用于生产环境部署,必须保证稳定性。:为测试环境分支,仅供测试人员使用,外部用户无法访问,版本相对稳定。无对应环境,不可访问,仅用于紧急修复线上 bug。对应 DEV 环境,可访问,为开发环境最新版本。对应 PRO 环境,可访问,为主分支稳定版本。对应 UAT 环境,可访问,用于预发布新版本。无对应环境,不可访问,仅用于本地开发新特性。对应 FAT 环境,可访问,用于功能测试。撤销上一次提交,再重新提交。

2401_82455219的博客 238

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

为什么大厂程序员写代码快?这 6 个 “偷时间” 技巧曝光

在明确需求后,他们会进行详细的规划,包括功能模块的划分、技术方案的选择、接口的设计等。当需要修改某个功能或修复某个 bug 时,程序员可以快速找到对应的代码版本,进行针对性的修改,避免了在混乱的代码中查找和修改的时间浪费。大厂程序员在长期的开发过程中,会积累大量的代码模板,这些模板涵盖了常见的功能模块,如用户登录、数据查询、接口调用等。这些 “偷时间” 技巧并非遥不可及,普通开发者只要在日常的开发过程中不断学习和实践,也能逐渐掌握,从而提升自己的编码速度和效率,在激烈的行业竞争中占据优势。

2503_92849134的博客 490

大厂Git使用规范

在多人协作的软件研发过程中,Git 代码管理是保证项目有序迭代、快速定位问题、顺利发布版本的基础。本规范旨在统一团队的分支命名、环境对应关系及提交行为,降低协作成本,避免因分支混乱、提交随意导致的线上故障或版本回滚困难。所有开发人员、测试人员及运维人员均应遵守本规范。

wangyi463295828的博客 439

大厂的Git代码规范

master 为主分支,也是用于部署生产环境的分支,需要确保master分支稳定性。对于工作量小的功能开发(工时小于1天),可以直接在devolop 分支进行开发,否则由 develop 分支检出 feature 分支进行开发,开发完后合并到develop 分支。develop 为开发环境分支,始终保持最新完成以及bug修复后的代码,用于前后端联调。一般开发的新功能时,feature分支都是基于develop分支创建的。线上出现紧急问题时,需要及时修复,以master分支为基线,创建hotfix分支。

tangjieqing的博客 1173
上一篇: 线上系统时间慢八个小时的排查之路
下一篇: 看到我的代码优化技巧,同事们也开始模仿了...
公众号-芋道源码
博客等级 码龄10年 1631粉丝 377原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值