首页 > 其他分享 >GIT版本管理规范

GIT版本管理规范

时间:2024-06-14 21:55:07浏览次数:17  
标签:GIT develop 提交 feature 规范 版本 test hotfix 分支

版本管理规范

文档编写中

1. Git版本管理

1.1 分支命名

先来一张典中典

分支生命周期

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

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

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

由 develop 分支合并到 test 分支

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

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

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

1.1.1 dev 分支

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

1.1.2 feature 分支

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

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

1.1.3 hotfix 分支

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

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

1.1.4 release分支

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

细分分支: Pre-SIT SIT UAT PROD 环境所有hotfix和feature首先上到Pre-SIT/SIT,cherry-pick到其他分支

1.2 Commit提交

在编写文档时,应遵循正式、简洁且易于理解的语言规范。文档不仅应具备专业性和准确性,还应确保内容清晰明了。

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 重新提交一次

2. .gitignore

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

下面提供一份通用配置,可自取:

Bash
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

3. README.md

在Git中,README.md 文件通常用来描述项目的概要、安装和使用方法、贡献指南等。它是项目的门面,帮助其他开发者理解和使用你的项目。下面是一个典型的 README.md 文件结构示例:

Bash
# 项目名称

一句话描述项目。具体描述

## 目录

- [介绍](#介绍)
- [安装](#安装)
- [使用](#使用)
- [贡献](#贡献)
- [许可证](#许可证)
- [联系方式](#联系方式)

## 介绍

详细描述项目的背景、目的和功能。

## 安装

步骤一:克隆仓库
```bash
git clone https://github.com/username/repo-name.git

npm install # 或者 pip install -r requirements.txt

## 使用描述

描述如何使用项目,可以包括命令行指令、配置文件说明等。

## 许可证
MIT

标签:GIT,develop,提交,feature,规范,版本,test,hotfix,分支
From: https://www.cnblogs.com/HugoKwong/p/18248717

相关文章

  • shell编程规范与变量
    shell脚本的概念将要执行的命令按顺序保存到一个文本文件给该文件可执行权限可结合各种shell控制语句以完成更复杂的操作shell脚本应用场景重复性操作交互性任务批量事务处理服务运行状态监控定时执行任务shell的作用介于系统内核与用户之间,负责解释命令行    ......
  • 6、Git之团队协作机制
    6.1、团队内协作6.1.1、创建本地库如上图所示,一个名叫刘备的人,在本地电脑中创建了一个项目,并使用git来维护。6.1.2、推送本地库到代码托管中心如上图所示,刘备想让别人也能看到自己本地库中的内容,就通过push命令,将本地库复制上传到代码托管中心,形成远程库。关于代码托......
  • Superset二次开发之基于GitLab OpenAPI 查询项目的提交记录中修改的文件
    背景:Superset二次开发,在处理版本升级的过程中,需要手动迁移代码,如何在Superset项目众多的文件中,记录修改过的文件,迁移代码时只需重点关注这些文件修改的内容即可,但是针对项目中多次的commit信息,每个commit又涉及不同的文件,如何快速梳理出这些二开工作中修改的文件,是我们......
  • CorelDRAW破解激活2024新版本序列号
    CorelDRAW破解2024最新版序列号激活码注册码,这可是个神奇的宝贝!......
  • 【Python&GIS】基于Arcpy修改mxd版本
        我们在使用ArcGIS时有时候保存或别人发过来的mxd工程文件会打不开,大概率是因为mxd保存的版本不一样,ArcGIS可以使用高版本打开低版本保存的mxd,反之则不行,所以今天给大家分享一下如何修改mxd版本。原创作者:RS迷途小书童博客地址:https://blog.csdn.net/m0_56729804......
  • git clone github报错解决方法,亲测有效!
    报错如下:gitclonehttps://github.com/pingcap/tidb.gitCloninginto'tidb'...remote:Enumeratingobjects:331426,done.remote:Countingobjects:100%(1769/1769),done.remote:Compressingobjects:100%(1549/1549),done.error:RPCfailed;curl......
  • Java最全知识脑图 涵盖 juc mysql git mybatis 等 面试必备
    Java初中级知识脑图面试超实用1.Git下载链接导图下载地址:https://mm.edrawsoft.cn/mobile-share/index.html?uuid=31d00742157057-src&share_type=12.JUC下载链接https://mm.edrawsoft.cn/mobile-share/index.html?uuid=6c0be457444921-src&share_type=13.JVM下载链......
  • 如果你的同事还不会配置commit提交规范,请把这篇文章甩给他
    前言首先问问大家在日常工作中喜欢哪种commit提交?gitcommit-m"代码更新"gitcommit-m"解决公共样式问题"gitcommit-m"feat:新增微信自定义分享"如果你是第三种,那我觉得你肯定了解过commit提交规范,可能是刷到过同类文章也可能是在工作中受到的要求我自己是......
  • git push 常用操作
    gitpush是Git中用于将本地分支的更改推送到远程仓库的命令。在此处记录一下,方便日后遗忘后查找。以下是gitpush的一些常用操作及其解释:1.推送当前分支到远程同名分支gitpushorigin这个命令会将当前分支的最新提交推送到origin这个远程仓库中对应的同名分支。如......
  • git操作常用命令总结
    要将本地代码同步到公司仓库,您需要遵循以下步骤:安装Git:如果您还没有安装Git,请访问Git官网(https://git-scm.com/)下载并安装适合您操作系统的版本。初始化Git仓库:在本地计算机上,导航到您要克隆公司仓库的目录,然后运行以下命令:gitinit这将初始化一个Git仓库,但请注意,......