Git常用规范

分支命名规范

Git分支命名规范可以根据具体的项目和团队的需要而有所不同,但是以下是一些常见的规范:

  1. 主分支(master/main):这个分支通常是主要的稳定分支,它包含了当前生产环境的代码。在一些项目中,这个分支也被称为“main”。
  2. 开发分支(develop):这个分支是开发人员用来合并所有的特性分支和bug修复分支的分支。它应该始终是最新的开发状态,并且也应该比主分支或稳定分支更频繁地进行更改。
  3. 特性分支(feature):这些分支是用来开发新特性或功能的,通常命名为“feature/”,其中是特性名称的简短描述。
  4. 修复分支(fix):这些分支用于修复已知的bug,通常命名为“fix/”,其中是bug的简短描述。
  5. 发布分支(release):这些分支用于准备代码发布,例如进行代码打包,版本更新等。通常命名为“release/”,其中是该版本的版本号。
  6. 热修复分支(hotfix):这些分支用于修复生产环境中出现的紧急bug。它们通常是从主分支或发布分支中创建的,然后在修复后合并回主分支和发布分支。通常命名为“hotfix/”,其中是bug的简短描述。

除了上述命名规范,还需要注意以下几点:

  1. 尽量使用简洁明了的命名方式,避免过长或过于复杂的名称。
  2. 统一命名方式,确保所有开发人员都能理解和遵守命名规范。
  3. 避免使用特殊字符和空格,以免在使用Git命令时出现问题。

总之,良好的分支命名规范可以让代码仓库更加规范、易于管理和维护,提高团队协作效率和代码质量。

分支类型命名规范用途
主分支(master/main)master或main包含当前生产环境的稳定代码
开发分支(develop)develop用来合并所有的特性分支和bug修复分支的分支,通常是最新的开发状态
特性分支(feature)feature/用于开发新特性或功能
修复分支(fix)fix/用于修复已知的bug
发布分支(release)release/用于准备代码发布
热修复分支(hotfix)hotfix/用于修复生产环境中出现的紧急bug
自定义分支可根据项目需要自定义命名规范,但需要清晰明了根据具体项目需要创建其他类型的分支,但需要清晰明了其用途和命名约定,以确保代码库的整洁性和可维护性。

代码提交规范

下面是归纳汇总的代码提交规范:

  1. 提交信息格式: 包括提交信息的标题和正文,其中标题应该简明扼要、能够概括本次提交的内容,正文则应该详细说明本次提交的修改和原因。
  2. 提交频率: 尽量避免频繁提交代码,应该在一定的时间间隔或者完成一定的工作量后再进行提交,以减少不必要的代码冲突和版本控制问题。
  3. 提交范围: 只提交与本次任务或者功能相关的代码,避免将不相关的代码混在一起提交。
  4. 提交顺序: 先提交修改的文件、再提交新建的文件,同时在提交前进行代码格式化、排版等操作,以保持代码的一致性和整洁性。
  5. 分支选择: 在提交代码前,应该选择正确的分支进行代码提交,避免将代码提交到错误的分支或者提交到不合适的分支上。
  6. 代码质量: 提交的代码应该符合一定的质量要求,包括编码规范、代码风格、注释规范等,以提高代码的可读性和可维护性。
  7. 版本号控制: 在代码提交时,应该遵守版本号的规范,包括MAJOR、MINOR、PATCH等版本号的更新规则。
  8. 提交记录管理: 为了方便团队成员查看和管理提交记录,应该对提交记录进行分类和整理,例如通过使用标签或者注释来标记不同类型的提交记录,或者通过使用Git log命令来查看和管理提交记录。
  9. 关注点分离原则: 代码提交应该符合关注点分离原则,即将相关的修改放在一起提交,避免将不相关的修改混在一起提交。
  10. 提交前测试: 在提交代码前,应该进行必要的测试,以确保代码的质量和可靠性。
  11. 充分说明修改内容: 在提交代码时,应该充分说明本次提交的内容和修改的原因。
  12. 版本控制工具的使用: 应该掌握和熟练使用版本控制工具,例如Git等,以便更好地管理代码的版本和提交记录。
提交message规范
<type>(<scope>): <description> [#<issue-number>]<body><footer>

其中,、、 和 # 是必填项, 可以省略, 不宜过长,最好不超过50个字符, 和 # 建议使用关键字和Issue编号的形式进行填写。
具体说明如下:

  1. :提交的类型,可以是以下之一:
    • feat:新功能
    • fix:修复问题
    • docs:文档修改
    • style:代码格式修改,不影响代码运行
    • refactor:重构代码
    • test:测试代码修改
    • chore:构建过程或辅助工具的修改
  2. :影响范围,一般是指修改的文件、功能模块等,可选项。
  3. :提交的描述信息,应该简短明了、清晰明了,最好不超过50个字符。
  4. #:可选项,可以填写对应的Issue编号。
  5. :正文部分,应该对提交的修改进行详细说明,包括修改的原因、解决的问题、影响的范围等信息,最好能够清晰明了地表达提交的目的。
  6. :可选项,可以包含一些提交元数据,如作者、协作者、变更记录等信息。

总之,代码提交message规范的目的是为了让代码提交记录更加清晰明了,方便团队成员查看和理解提交的内容和目的,从而提高团队协作的效率和质量。

模板
<类型>(<范围>): <主题><描述>Co-authored-by: 姓名 <邮箱>

上面的message模板包含了以下几个部分:

  • 类型(type):表示提交的类型,可以使用约定俗成的关键标签(如feat、fix、docs等)或自定义标签。标签应该以小写字母开头,并用冒号(:)和空格隔开。
  • 范围(scope):表示提交的范围,可以是文件、模块、功能等。范围应该以小写字母包含在圆括号中,并用冒号和空格隔开。
  • 主题(subject):表示提交的主题,应该简洁明了,不超过50个字符。主题应该以动词开头,使用一般现在时,不要使用第一人称(如“我”、“我们”)。
  • 描述(body):表示提交的详细描述,可以包含更多的细节和上下文信息。描述应该使用简洁明了的语言,不超过72个字符宽度,可以使用多个段落。
  • Co-authored-by:表示参与协作的人员信息,可以根据需要添加。

需要注意的是,使用message模板可以帮助我们规范化提交信息的格式和内容,但并不是所有的提交都需要按照模板来写。在实际开发中,我们应该根据实际情况灵活选择合适的提交信息,并确保提交信息的内容准确、清晰、简洁。

示例:
feat: 添加新功能为某个页面添加了一个新的功能点,并优化了代码逻辑。Co-authored-by: 张三 <zhangsan@example.com>
Co-authored-by: 李四 <lisi@example.com>

分支合并流程

简单流程:
在这里插入图片描述

复杂流程 :

在这里插入图片描述
support 分支是一个可选的分支,用于在生产环境中维护当前正在运行的软件版本。它可以用来解决在生产环境中发现的 bug,而不会对正在进行的开发工作造成干扰。在 support 分支上修复 bug 后,这些修复将合并到 release 分支中,以便下一个软件版本的发布。

简化常用流程:

在这里插入图片描述

master : 主分支,供新功能拉取
feature-dk-xxx : 开发分支
fat: UAT环境分支,多个feature-dk-xxx 分支代码提交到该分支进行测试
release: 上线版本分支

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/176547.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux 进程优先级 | 环境变量

目录 进程优先级 基本概念 认识优先级 PRI and NI NI值的范围 查看进程优先级 用top命令更改已存在进程的nice&#xff1a; 如何修改优先级 其他概念 环境变量 基本概念 常见环境变量 和环境变量相关的命令 环境变量的组织方式 通过代码如何获取环境变量 环境变量通…

【NodeJS】Nodejs安装及环境配置

下载安装包 网址&#xff1a;https://nodejs.org/en 安装程序 1.下载完成后&#xff0c;双击安装包&#xff0c;进行安装&#xff0c;一路默认配置 nxet 即可&#xff0c;安装路劲给默认在C盘&#xff0c;或者选择其他位置&#xff0c;当前教程默认C盘 2.下图根据本身的…

(八)Spring源码解析:Spring MVC

一、Servlet及上下文的初始化 1.1> DispatcherServlet的初始化 对于Spring MVC来说&#xff0c;最核心的一个类就是DispatcherServlet&#xff0c;它负责请求的行为流转。那么在Servlet的初始化阶段&#xff0c;会调用init()方法进行初始化操作&#xff0c;在DispatcherSe…

dubbo服务超时导致的异常

今天服务器启动项目时&#xff0c;页面刷新报错&#xff1a; 查看日志时报错信息为&#xff1a; 解决&#xff1a; 在对应服务的配置文件中配置dubbo超时时间&#xff1a; 随后问题得到解决&#xff0c;特此记录

c语言,将奇数和偶数分类

题目&#xff1a;输入一个整数数组&#xff0c;实现一个函数&#xff0c;来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分&#xff0c;所有偶数位于数组的后半部分。 思路&#xff1a;像冒泡排序那样&#xff0c;相邻两个数比较&#xff0c;两个都是偶数则不…

使用vscode的ssh进行远程主机连接

1. 首先安装好“远程资源管理器”&#xff08;这一步建议谷歌下&#xff09;&#xff0c;如下图所示 2. 按F1&#xff0c;设置远程主机信息的SSH Configuration config file, 注意这里可以添加多个远程主机信息&#xff0c;通过注释掉无关远程主机信息来选择想连接的那个主机&a…

数据结构 顺序表和链表

1.线性表 线性表&#xff08;linear list&#xff09;是n个具有相同特性的数据元素的有限序列 线性表是一种在实际中广泛使用的数据结构&#xff0c;常见的线性表&#xff1a;顺序表、链表、栈、队列、字符串.. 线性表在逻辑上是线性结构&#xff0c;也就说是连续的一条直线…

Live800:客服中心必备的7种客户服务原则

在现代商业社会中&#xff0c;客户服务已经成为企业竞争的重要因素之一。提供高质量的客户服务可以帮助企业赢得客户的忠诚度和信任&#xff0c;从而推动企业的发展。客服中心是企业与客户之间的桥梁&#xff0c;对于客户服务的质量要求更高。为了提高客服中心的服务质量&#…

Ubuntu 24.04发布日期以定

导读Ubuntu 的下一个长期支持 (LTS) 版本 Ubuntu 24.04 的最终发布日期已确定&#xff0c;计划于 2024 年 4 月 25 日发布。 Ubuntu 的下一个长期支持 (LTS) 版本 Ubuntu 24.04 的最终发布日期已确定&#xff0c;计划于 2024 年 4 月 25 日发布。 除此之外&#xff0c;Ubuntu…

使用ResponseSelector实现校园招聘FAQ机器人

本文主要介绍使用ResponseSelector实现校园招聘FAQ机器人&#xff0c;回答面试流程和面试结果查询的FAQ问题。FAQ机器人功能分为业务无关的功能和业务相关的功能2类。 一.data/nlu.yml文件   与普通意图相比&#xff0c;ResponseSelector训练数据中的意图采用group/intent格…

JVM 内存区域

JVM内存结构模型 程序计数器&#xff1a; 1.线程私有的&#xff0c;是一块较小的内存空间&#xff0c;当前线程所执行的字节码的行号指示器 2.每个线程都有一个独立的程序计数器&#xff0c;各线程之间程序计数器互不影响&#xff0c;独立存储 3.此内存区域是唯一一个在java虚拟…

计算机毕业设计项目选题推荐(免费领源码)PHP+MySQL在线网络教育平台66984

目 录 摘要 1 绪论 1.1 课题背景 1.2意义 1.3HTML介绍 1.4JavaScript 运行模式 1.5css3工作原理 1.6论文结构与章节安排 2 在线网络教育平台分析 2.1 可行性分析 2.2 系统流程分析 2.2.1数据增加流程 3 2.2.2数据修改流程 4 2.2.3数据删除流程 4 2.3 系统功能分析 …