type
status
date
slug
summary
tags
category
icon
password
😀
Git workflow
 

一、分支规范

1、分支管理规范

  1. 禁止在主分支main上直接进行commit的提交,即禁止直接在main分支上进行代码的更改,一切更改都需要依据规范进行命名、提交代码、测试、合并。
  1. 为简化主分支的提交记录,可在合并时选择将所有commit合并为一个,再提交到主分支

2、分支命名规范

对于以下的分支命名规范,有一个约定的格式,即从下列列出中选择合适标签,以/分隔标签与自定义名称,单词均小写,且用-连接。
  1. feature/功能名
    1. 如果你要添加新功能或修改现有功能,可以使用该功能的名称作为分支名称,例如:feature/user-authentication(用户认证功能)。
  1. bugfix/修复名
    1. 如果你要修复一个bug,可以使用相关bug的ID或简短描述作为分支名称,例如:bugfix/issue123 或者 bugfix/missing-styles。
  1. refactor/重构名
    1. 如果你在进行代码重构,可以使用简短的描述作为分支名称,例如:refactor/navigation-menu(导航菜单重构)。
  1. hotfix/紧急修复名
    1. 如果你需要紧急修复生产环境中的问题,可以使用 hotfix 开头的分支名称,例如:hotfix/security-issue。
  1. content-update/内容更新名
    1. 如果你只是需要更新文本、图标等内容,可以使用描述性的分支名称,例如:content-update/header-text(更新头部文本)。
  1. design-update/设计更新名
    1. 如果你需要进行设计上的修改,可以使用 design-update 开头的分支名称,例如:design-update/homepage-layout(更新首页布局)。
  1. config/任务名
    1. 有时候可能会有一些非功能性的任务,比如配置文件的更新、依赖项的升级等等,可以考虑添加一个类似于 config 的前缀来标识这类分支,例如:config/update-configs。
  1. release/版本名
    1. 如果你正在准备发布一个新版本,可以使用版本号作为分支名称,例如:release/v1.0.0。
  1. test/测试名
    1. 如果你正在进行测试工作,可以使用 test 开头的分支名称,例如:test/user-registration(用户注册测试)。

二、Commit规范

一个commit由两部分构成:titlemessage。其中title为必填项,而message为选填项。

1、Title

对于title,命名需要由两部分组成:标签与内容。其中标签从下列规定中选取,是对该次提交的分类;而内容为凝练的短语,需要概括性的描述该commit的主要功能,即完成了什么工作。标签与内容应该以:分隔。
  • feat: 新功能(feature)
  • fix: 修复 Bug
  • design: 设计相关的更改,对于前端可以是针对布局等明显的改动,也可以针对内容的更改
  • ui: 用户界面的调整,针对细节的改动(针对前端项目)
  • docs: 更新文档——在工程文件中,也应该对某些函数、组件进行规范性说明,例如前端项目中,应该有一个按照JsDoc规范的注释说明紧贴于函数的定义之前。
  • style: 代码风格的调整(不影响代码含义的变动)
  • refactor: 重构代码
  • test: 添加或修改测试
  • chore/config: 对构建过程或辅助工具的更改,例如修改github action配置为:chore: github action;修改tailwindcss配置可以是:config:tailwindcss
  • revert: 撤销一个提交
  • merge: 执行分支合并操作

2、Message

对于message,作为选填项,当commit的标题内容不足以完全概述此次提交的工作内容,或此次提交完成了多个任务,则需要在message中分条说明;若此次提交的工作内容需要做额外说明,或内容较复杂,也需通过message额外说明。而对message的具体表达,可以根据以下标准形式完成:
下面对标准形式的各个部分做解释:
  • 标签:即为上一条关于title的规范中,所列出的标签,均为一个英文单词
  • 范围:范围是此次提交影响的模块或组件,可以是一个文件、目录或者一个模块的名称
  • 描述(可选):描述是对此次 Commit 的简要说明,应该清晰、简洁地描述所做的更改,相比于title中内容的短语,描述还可以是一个短句
  • 主体:主体是对这次提交更详细的说明,可以包括更多的上下文和解释
  • 引用(可选):引用可以包括对相关任务、问题或需求的引用,可以是 GitHub Issue 号等
下面举两个具体的例子(除了标签,最好使用中文便于阅读):

3、注意点

  • 一个提交应该保持单一的职责,避免多个不相关的更改
  • 应该清晰、简洁地描述所做的更改,避免模糊或不明确的语言
  • 除了标签均用英文,其余部分中英文皆可,原则为清晰、简洁、便于阅读
  • 不要提交到main分支上

三、开发、测试与发布

开发、测试与发布三个步骤在三个不同的基础分支上完成,其中:
  1. main 为开发分支
  1. test 为测试分支,与测试环境对接;其上的 pr 只能由 main 提出,交到 test,与其余分支无关。
  1. release 为发布分支,直接与生产环境对接(多)—— 暂时还没有
 
VSCode 代码自动格式化脑科学基础
  • Giscus
Zachary_Yang
Zachary_Yang
一个普通的干饭人🍚
Announcement
🎉欢迎来到我的博客🎉
-- 亲爱的读者们,你们好! ---
👏在这里,我希望能够和你们一起分享我对生活的观察、对技术的理解和热爱,暂将博客分为以下几个栏目👏
🌿 心绪漫卷边:一些小随笔
🌌 智绘非遇路:AI领域
😊 浅笑编程边:前后端开发
🛠 技术汇流石下:零散技术分享

祝好,
Zachary_Yang