【学习笔记】Git开发流程

news/2025/2/20 3:37:18/

Git开发大致流程图:
在这里插入图片描述

具体流程: 首先一个从仓库的main分支,然后从main分支中拉一个功能分支feature/xxx,在多人开发这个功能的时候拉去自己的个人分支比如:xxx/xxx 。然后每天开发完个人分支后压缩commit,并提一个cr到功能分支,cr完毕后就会自动删除这个个人分支,第二天再次开发时在拉取相对应的个人分支,在发布当天然后在把功能分支合并到主分支中。

分支流程说明

项目中长期存在的两个分支

● master:主分支,负责记录上线版本的迭代,该分支代码与线上代码是完全一致的。
● develop:开发分支,该分支记录相对稳定的版本,所有的feature分支和bugfix分支都从该分支创建。

其它分支为短期分支,其完成功能开发之后需要删除

feature/ :特性(功能)分支,用于开发新的功能,不同的功能创建不同的功能分支,功能分支开发完成并自测通过之后,需要合并到 develop 分支,之后删除该分支。
● bugfix/:bug修复分支,用于修复不紧急的bug,普通bug均需要创建bugfix分支开发,开发完成自测没问题后合并到 develop 分支后,删除该分支。
● release/
:发布分支,用于代码上线准备,该分支从develop分支创建,创建之后由测试同学发布到测试环境进行测试,测试过程中发现bug需要开发人员在该release分支上进行bug修复,所有bug修复完后,在上线之前,需要合并该release分支到master分支和develop分支。
● hotfix/*:紧急bug修复分支,该分支只有在紧急情况下使用,从master分支创建,用于紧急修复线上bug,修复完成后,需要合并该分支到master分支以便上线,同时需要再合并到develop分支。

工作流程

开发前克隆 dev 分支到本地

git clone -b dev https://github.com/xxxx/usercenter.git

新建分支:

获取 dev 分支最新代码

git checkout dev
git pull

新建一个特性分支

git branch feature/xxx

切换到该特性分支,进行开发

git checkout feature/xxx

提交分支:

提交代码

git add .
git commit

开发过程中,将本地仓库开发中的特性分支 push 到远程仓库(可选的)

git push -u origin feature/xxx

发出 Pull Request

Git规范

分支命名

除了主要分支的名字是固定的之外,派生分支是需要自己命名的,这里就要有个命名规范了。强烈推荐用如下形式:

● feature——按照功能点(而不是需求)命名;
● release——用发布时间命名,可以加上适当的前缀;
● hotfix——GitLab 的 issue 编号或 bug 性质等。

另外还有 tag,用语义化的版本号命名。

提交

  1. 提交时的粒度是一个小功能点或者一个 bug fix,这样进行恢复等的操作时能够将「误伤」减到最低;
  2. 用一句简练的话写在第一行,然后空一行稍微详细阐述该提交所增加或修改的地方;
  3. 不要每提交一次就推送一次,多积攒几个提交后一次性推送,这样可以避免在进行一次提交后发现代码中还有小错误。

常用命令

● git commit
● git add [–all]
● git push
● git pull
● git branch [-d]
● git merge
● git rebase
● git checkout [-b] BRANCH_NAME


http://www.ppmy.cn/news/1176511.html

相关文章

单片机核心/RTOS必备 (ARM汇编)

ARM汇编概述 一开始,ARM公司发布两类指令集: ARM指令集,这是32位的,每条指令占据32位,高效,但是太占空间。Thumb指令集,这是16位的,每条指令占据16位,节省空间。 要节…

k8s中,“deployment”充当什么角色?有什么功能?

在Kubernetes中,"Deployment"是一种控制器(Controller),它充当了以下主要角色和功能: 应用程序部署和管理: Deployment用于定义和管理应用程序的部署。它允许您指定应用程序的副本数(…

Hudi数据湖相关资料

目录 Apache Hudi社区 Apache Hudi入门系列 Apache Hudi实战 数据湖扩展 Apache Hudi生态 Apache Hudi源码解读 hudi各类资料: 字节电商场景基于Apache Hudi的落湖实践 阿里云AnalyticDB基于Flink CDCHudi实现多表全增量入湖实践 Lambda架构向湖仓一体架构…

java8 Lambda表达式以及Stream 流

Lambda表达式 Lambda表达式规则 Lambda表达式可以看作是一段可以传递的代码, Lambda表达式只能用于函数式接口,而函数式接口只有一个抽象方法,所以可以省略方法名,参数类型等 Lambda格式:(形参列表&…

linuxnfs服务安装与配置实践

目录 一.NFS服务 二.NFS和RPC的概念 三.什么是RPC 四.工具 五.安装配置NFS环境 1.查看一下是否有nfs-utils和rpcbind软件包的安装rpm包 2.安装nfs-utils 、rpcbind 3.环境配置 1.nfs配置文件需要遵守如下规则: 2.nfs语法参数解释: 3.nfs客户端…

linux vim 删除多行

使用linux服务器,免不了和vi编辑打交道,命令行下删除数量少还好,如果删除很多,光靠删除键一点点删除真的是头痛,还好Vi有快捷的命令可以删除多行、范围。 删除行 在Vim中删除一行的命令是dd。 以下是删除行的分步说明…

统计文本词频的几种方法(Python)

目录 1. 单句的词频统计 2. 文章的词频统计 方法一:运用集合去重方法 方法二:运用字典统计 方法三:使用计数器 词频统计是自然语言处理的基本任务,针对一段句子、一篇文章或一组文章,统计文章中每个单词出现的次数…

【T3】畅捷通T3采购入库单单据预览,提示不能打开数据表。

【问题描述】 畅捷通T3点击采购入库单预览的时候, 提示ufdtprn窗口,不能打开数据库表SD-20230629HHTI_PurRKD。 【解决方法】 经查看提示的数据表为当前计算机名称, 删除计算机名称中横杠后,重启电脑正常。