【Git】说说Git中开发测试的使用Git分支Git标签的使用场景
一、环境介绍
- dev环境:开发环境,外部用户无法访问,开发人员使用,版本变动很大。
- test环境:测试环境,外部用户无法访问,专门给测试人员使用的,版本相对稳定。
- pre环境:灰度环境,外部用户可以访问,但是服务器配置相对低,其它和生产一样。
- pro(master)环境:生产环境,面向外部用户的环境,连接上互联网即可访问的正式环境。
二、Git常用应用场景
实际应用场景中,开发测试的Git使用主要包括以下方面:
- 推送本地代码片段到远程仓库:开发者可以在本地进行代码开发和测试,然后通过Git提交到远程仓库,以便其他人可以查看和共享代码。
- Git的版本回退:如果当前分支的代码出现问题,可以通过查看Git日志找到之前的正确版本,并使用
git reset
命令回退到该版本。 - Git的分支切换:开发者可以在不同的分支上开发不同的功能或修复不同的bug,然后在测试完成后将分支合并到主分支上。
- Git的标签应用:在发布软件时,可以为当前的版本创建一个标签,以便后续查找和跟踪。
三、Git分支
关于分支,Git支持创建、切换和合并分支。创建分支使用
git branch
命令,切换分支使用git checkout
命令,合并分支使用git merge
命令。分支可以用于开发新功能或修复bug,同时不会影响主分支的稳定性。
1、分支在实际中有什么用?
- 多人协作开发:在进行多人协作开发的时候,为了防止互相干扰,提高协同开发的体验,建议每个开发者都基于分支进行项目功能的开发。
- 功能开发:由于程序员不能直接在主分支上进行功能的开发,所以就有了功能分支的概念。功能分支可以用来管理和跟踪代码的版本,作为代码库的里程碑,标记代码库在特定时间点的版本。这对于部署、发行和回滚代码非常有用,因为它可以确保线上环境中始终使用相同版本的代码。
- 持续集成/持续部署:在持续集成或持续部署中,通常会使用分支来隔离不同版本的代码。主分支通常会保持稳定,而其他分支则用于开发和测试新功能或修复bug。这样可以确保主分支的稳定性,同时允许其他分支进行频繁的修改和测试。
- 版本控制:分支是版本控制的一个重要组成部分。通过使用分支,可以方便地进行代码审查和集成。分支还可以用于管理不同开发和协作环境下代码的版本,以便更好地跟踪和管理代码的变化。
2、Git的分支的常用命令
git branch 分支名称
: 创建新的分支。git checkout -b 分支名称
: 创建新的分支并切换到对应分支。git checkout 分支名称
: 切换到对应的分支。git merge 分支名称
: 在当前分支合并指定分支。git cherry-pick 版本号
: 合并分支上的某次提交。git branch -d
分支名
: 删除远程分支。git fetch origin 分支名:<分支名>
: 克隆远程的分支到本地的分支。- git branch :查看所有分支
而我们常常使用的分别有创建(
git branch 分支名称)
、删除(git branch -d
分支名
)、查看(git branch)。
3、Git分支使用场景
3.1、本地分支
创建一个仓库,里面创建几个新的分支并切换。
里面再新建几个文件用来测试我们想要的效果。
利用GUI的图形界面添加两个文件
可以看到我们选择的两个文件
我们用dev的分支进行提交后,切换我们的测试分支test可以看到我们的文件夹里面只剩下未提交的。
我们在其他分支是看不到由dev提交的问价,我想要看到我们就需要使用命令:
git merge 分支名称
合并分支。
如果我们的test里面有个(文件1)模块不通过,我们把它在文件夹里面删除,再进行提交。
我们切换到master分支,再合并已经已经通过的模块。
3.2、远程分支
推送我们在本地弄好的分支。
git push origin 分支名:推送分支到git
切换我们的开发分支,可以看到我们的所有文件都在这里,我们在使用命令进行推送。
我们继续把test的分支也进行推送。
四、Git标签
1、Git标签的实际用处
标签是用于标记Git历史版本的一种方式。通过
git tag
命令可以创建标签,标签名通常采用“v版本号”的形式,例如v1.0
。标签可以用于标记软件的发布版本,方便后续的版本管理和跟踪。Git标签是一种方便的版本标记方式,可以用于记录软件的发布版本、里程碑、分支隔离的版本以及持续集成/持续部署等场景。
Git标签的应用场景主要是用于标记特定的版本和发布信息。以下是Git标签的一些常见应用场景:
- 标记软件的发布版本:在软件发布时,可以使用Git标签来标记发布的版本,以便后续跟踪和查找。标签名通常采用“v版本号”的形式,例如“v1.0”。
- 记录代码库的里程碑:Git标签可以用来记录代码库的重要里程碑,例如功能发布、修复某个bug等。这样可以方便地回溯到特定的代码库状态,并查看相关的更改历史。
- 分支隔离的版本:在进行多人协作开发时,为了防止互相干扰,可以使用Git标签来标记不同分支的版本。这样可以方便地查找和合并不同分支的代码。
- 持续集成/持续部署:在持续集成或持续部署中,可以使用Git标签来标记不同版本的代码,以便进行自动化构建和部署。这样可以确保不同环境下的代码版本的一致性。
2、常用命令
git tag <xxx>
: 用于新建一个标签,默认为HEAD,也可以指定一个commit id。git tag -a <xxx> -m "......"
: 指定标签信息。git tag
: 查看所有标签。git push origin <xxx>
: 推送一个本地标签。git push origin --tags
: 推送全部未推送过的本地标签。git tag -d <xxx>
: 删除一个本地标签。git push origin :refs/tags/<xxx>
: 删除一个远程标签。
3、使用场景
使用的方法基本和分支是错不多的。
我们可以看到我们没有标签的。
我们进入对应的分支创建一个新的标签,并且推送。
我们把多个分支进行推送。
【注意】我们的辨别方式是后面的后缀,在同一个版本不同的环境下我们用后缀进行辨别。
相关文章:
【Git】说说Git中开发测试的使用Git分支Git标签的使用场景
一、环境介绍 dev环境:开发环境,外部用户无法访问,开发人员使用,版本变动很大。test环境:测试环境,外部用户无法访问,专门给测试人员使用的,版本相对稳定。pre环境:灰度环…...
Spring Boot中使用Server-Sent Events (SSE) 实现实时数据推送教程
一、简介 Server-Sent Events (SSE) 是HTML5引入的一种轻量级的服务器向浏览器客户端单向推送实时数据的技术。在Spring Boot框架中,我们可以很容易地集成并利用SSE来实现实时通信。 二、依赖添加 在Spring Boot项目中,无需额外引入特定的依赖&#x…...
【Golang学习之旅】Go 语言微服务架构实践(gRPC、Kafka、Docker、K8s)
文章目录 1. 前言:为什么选择Go语言构建微服务架构1.1 微服务架构的兴趣与挑战1.2 为什么选择Go语言构建微服务架构 2. Go语言简介2.1 Go 语言的特点与应用2.2 Go 语言的生态系统 3. 微服务架构中的 gRPC 实践3.1 什么是 gRPC?3.2 gRPC 在 Go 语言中的实…...
数据结构:栈(Stack)及其实现
栈(Stack)是计算机科学中常用的一种数据结构,它遵循先进后出(Last In, First Out,LIFO)的原则。也就是说,栈中的元素只能从栈顶进行访问,最后放入栈中的元素最先被取出。栈在很多应用…...
DeepSeek在linux下的安装部署与应用测试
结合上一篇文章,本篇文章主要讲述在Redhat linux环境下如何部署和使用DeepSeek大模型,主要包括ollama的安装配置、大模型的加载和应用测试。关于Open WebUI在docker的安装部署,Open WebUI官网也提供了完整的docker部署说明,大家可…...
Next.js【详解】获取数据(访问接口)
Next.js 中分为 服务端组件 和 客户端组件,内置的获取数据各不相同 服务端组件 方式1 – 使用 fetch export default async function Page() {const data await fetch(https://api.vercel.app/blog)const posts await data.json()return (<ul>{posts.map((…...
pnpm, eslint, vue-router4, element-plus, pinia
利用 pnpm 创建 vue3 项目 pnpm 包管理器 - 创建项目 Eslint 配置代码风格(Eslint用于规范纠错,prettier用于美观) 在 设置 中配置保存时自动修复 提交前做代码检查 husky是一个 git hooks工具(git的钩子工具,可以在特定实际执行特…...
将jar安装到Maven本地仓库中
将jar安装到Maven本地仓库中 1. 使用 mvn install:install-file 命令模版示例 2.项目中添加依赖 将一个 .jar 文件安装到 Maven 本地仓库中是一个常见的操作,尤其是在你想要在本地测试一个尚未发布到中央仓库的库时。以下是如何将 .jar 文件安装到 Maven 本地仓库的…...
Spring 和 Spring MVC 的关系是什么?
Spring和Spring MVC的关系就像是“大家庭和家里的小书房”一样。 Spring是一个大家庭,提供了各种各样的功能和服务,比如管理Bean的生命周期、事务管理、安全性等,它是企业级应用开发的全方位解决方案。这个大家庭里有很多房间,每个…...
Ollama ModelFile(模型文件)
1. 什么是 Modelfile? Modelfile 是 Ollama 的配置文件,用于定义和自定义模型的行为。通过它,你可以: 基于现有模型(如 llama2、mistral)创建自定义版本 调整生成参数(如温度、重复惩罚&#…...
基于python深度学习遥感影像地物分类与目标识别、分割实践技术应用
我国高分辨率对地观测系统重大专项已全面启动,高空间、高光谱、高时间分辨率和宽地面覆盖于一体的全球天空地一体化立体对地观测网逐步形成,将成为保障国家安全的基础性和战略性资源。未来10年全球每天获取的观测数据将超过10PB,遥感大数据时…...
(蓝桥杯——10. 小郑做志愿者)洛斯里克城志愿者问题详解
题目背景 小郑是一名大学生,她决定通过做志愿者来增加自己的综合分。她的任务是帮助游客解决交通困难的问题。洛斯里克城是一个六朝古都,拥有 N 个区域和古老的地铁系统。地铁线路覆盖了树形结构上的某些路径,游客会询问两个区域是否可以通过某条地铁线路直达,以及有多少条…...
基于 Ollama 工具的 LLM 大语言模型如何部署,以 DeepSeek 14B 本地部署为例
简简单单 Online zuozuo :本心、输入输出、结果 文章目录 基于 Ollama 工具的 LLM 大语言模型如何部署,以 DeepSeek 14B 本地部署为例前言下载 Ollama实际部署所需的硬件要求设置 LLM 使用 GPU ,发挥 100% GPU 性能Ollama 大模型管理命令大模型的实际运行资源消耗基于 Ollam…...
大模型工具大比拼:SGLang、Ollama、VLLM、LLaMA.cpp 如何选择?
简介:在人工智能飞速发展的今天,大模型已经成为推动技术革新的核心力量。无论是智能客服、内容创作,还是科研辅助、代码生成,大模型的身影无处不在。然而,面对市场上琳琅满目的工具,如何挑选最适合自己的那…...
【05】密码学与隐私保护
5-1 零知识证明 零知识证明介绍 零知识证明的概念 设P(Prover)表示掌握某些信息,并希望证实这一事实的实体,V(Verifier)是验证这一事实的实体。 零知识证明是指P试图使V相信某一个论断是正确的,但却不向…...
Flink SQL与Doris实时数仓Join实战教程(理论+实例保姆级教程)
目录 第一章:Regular Joins 深度解析 1.1 核心原理与适用场景 1.2 电商订单 - 商品实时关联案例 1.2.1 数据流设计 1.2.2 Doris 表设计优化 1.2.3 性能调优要点 第二章:Interval Joins 实战应用 2.1 时间区间关联原理 2.2 优惠券使用有效性验证 2.2.1 业务场景说明 …...
DeepSeek 助力 Vue 开发:打造丝滑的范围选择器(Range Picker)
前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 Deep…...
68页PDF | 数据安全总体解决方案:从数据管理方法论到落地实践的全方位指南(附下载)
一、前言 这份报告旨在应对数字化转型过程中数据安全面临的挑战,并提供全面的管理与技术体系建设框架。报告首先分析了数字化社会的发展背景,强调了数据安全在国家安全层面的重要性,并指出数据安全风险的来源和防护措施。接着,报…...
【Github每日推荐】-- 2024 年项目汇总
1、AI 技术 项目简述OmniParser一款基于纯视觉的 GUI 智能体,能够准确识别界面上可交互图标以及理解截图中各元素语义,实现自动化界面交互场景,如自动化测试、自动化操作等。ChatTTS一款专门为对话场景设计的语音生成模型,主要用…...
【Spring详解一】Spring整体架构和环境搭建
一、Spring整体架构和环境搭建 1.1 Spring的整体架构 Spring框架是一个分层架构,包含一系列功能要素,被分为大约20个模块 Spring核心容器:包含Core、Bean、Context、Expression Language模块 Core :其他组件的基本核心ÿ…...
Spring Boot(8)深入理解 @Autowired 注解:使用场景与实战示例
搞个引言 在 Spring 框架的开发中,依赖注入(Dependency Injection,简称 DI)是它的一个核心特性,它能够让代码更加模块化、可测试,并且易于维护。而 Autowired 注解作为 Spring 实现依赖注入的关键工具&…...
Machine Learning:Optimization
文章目录 局部最小值与鞍点 (Local Minimum & Saddle Point)临界点及其种类判断临界值种类 批量与动量(Batch & Momentum)批量大小对梯度下降的影响动量法 自适应学习率AdaGradRMSPropAdam 学习率调度优化总结 局部最小值与鞍点 (Local Minimum & Saddle Point) 我…...
wordpress get_footer();与wp_footer();的区别的关系
在WordPress中,get_footer() 和 wp_footer() 是两个不同的函数,它们在主题开发中扮演着不同的角色,但都与页面的“页脚”部分有关。以下是它们的区别和关系: 1. get_footer() get_footer() 是一个用于加载页脚模板的函数。它的主…...
Windows Docker运行Implicit-SVSDF-Planner
Windows Docker运行GitHub - ZJU-FAST-Lab/Implicit-SVSDF-Planner: [SIGGRAPH 2024 & TOG] 1. 设置环境 我将项目git clone在D:/Github目录中。 下载ubuntu20.04 noetic镜像 docker pull osrf/ros:noetic-desktop-full-focal 启动容器,挂载主机的D:/Github文…...
设计模式14:职责链模式
系列总链接:《大话设计模式》学习记录_net 大话设计-CSDN博客 1.概述 职责链模式(Chain of Responsibility Pattern)是一种行为设计模式,它允许将请求沿着处理者链传递,直到有一个处理者能够处理该请求。这种模式通过…...
Golang GORM系列:GORM并发与连接池
GORM 是一个流行的 Go 语言 ORM(对象关系映射)库,用于简化数据库操作。它支持连接池和并发访问功能,这些功能对于高性能、高并发的应用场景非常重要。本文结合示例详细介绍gorm的并发处理能力,以及如何是哟个连接池提升…...
linux笔记:shell中的while、if、for语句
在Udig软件的启动脚本中使用了while循环、if语句、for循环,其他内容基本都是变量的定义,所以尝试弄懂脚本中这三部分内容,了解脚本执行过程。 (1)while循环 while do循环内容如下所示,在循环中还用了expr…...
【Java】逻辑运算符详解:、|| 与、 | 的区别及应用
博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: Java 文章目录 💯前言💯一、基本概念与运算符介绍💯二、短路与与非短路与:&& 与 & 的区别1. &&:短路与(AND)2. …...
Java 设计模式之解释器模式
文章目录 Java 设计模式之解释器模式概述UML代码实现 Java 设计模式之解释器模式 概述 解释器模式(interpreter):给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。如果一种特定…...
关于前后端分离跨域问题——使用DeepSeek分析查错
我前端使用ant design vue pro框架,后端使用kratos框架开发。因为之前也解决过跨域问题,正常是在后端的http请求中加入中间件,设置跨域需要通过的字段即可,代码如下所示: func NewHTTPServer(c *conf.Server, s *conf…...
Linux下ioctl的应用
文章目录 1、ioctl简介2、示例程序编写2.1、应用程序编写2.2、驱动程序编写 3、ioctl命令的构成4、测试 1、ioctl简介 ioctl(input/output control)是Linux中的一个系统调用,主要用于设备驱动程序与用户空间应用程序之间进行设备特定的输入/…...
Windows 环境下 Grafana 安装指南
目录 下载 Grafana 安装 Grafana 方法 1:使用 .msi 安装程序(推荐) 方法 2:使用 .zip 压缩包 启动 Grafana 访问 Grafana 配置 Grafana(可选) 卸载 Grafana(如果需要) 下载 G…...
【操作系统】操作系统概述
操作系统概述 1.1 操作系统的概念1.1.1 操作系统定义——什么是OS?1.1.2 操作系统作用——OS有什么用?1.1.3 操作系统地位——计算机系统中,OS处于什么地位?1.1.4 为什么学操作系统? 1.2 操作系统的历史1.2.1 操作系统…...
基于SSM+uniapp的鲜花销售小程序+LW示例参考
1.项目介绍 系统角色:管理员、商户功能模块:用户管理、商户管理、鲜花分类管理、鲜花管理、订单管理、收藏管理、购物车、充值、下单等技术选型:SSM,Vue(后端管理web),uniapp等测试环境&#x…...
第3章 .NETCore核心基础组件:3.1 .NET Core依赖注入
3.1.1 什么是控制反转、依赖注入 杨老师在书中进行了一系列的文字阐述,总结一下就是:软件设计模式中有一种叫做【控制反转】的设计模式,而依赖注入是实现这种设计模式的一个很重要的方式。也就是说学习依赖注入,是学习怎样实现控…...
排序与算法:插入排序
执行效果 插入排序的执行效果是这样的: 呃……看不懂吗?没关系,接着往下看介绍 算法介绍 插入排序(Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,…...
uniapp 打包安卓 集成高德地图
接入高德地图 let vm this;uni.chooseLocation({success: function (res) {// console.log(位置名称: res.name);// console.log(详细地址: res.address);// console.log(纬度: res.latitude);// console.log(经度: res.long…...
python爬虫系列课程2:如何下载Xpath Helper
python爬虫系列课程2:如何下载Xpath Helper 一、访问极简插件官网二、点击搜索按钮三、输入xpath并点击搜索四、点击推荐下载五、将下载下来的文件解压缩六、打开扩展程序界面七、将xpath.crx文件拖入扩展程序界面一、访问极简插件官网 极简插件官网地址:https://chrome.zzz…...
win10系统上的虚拟机安装麒麟V10系统提示找不到操作系统
目录预览 一、问题描述二、原因分析三、解决方案四、参考链接 一、问题描述 win10系统上的虚拟机安装麒麟V10系统提示找不到操作系统,报错:Operating System not found 二、原因分析 国产系统,需要注意的点: 需要看你的系统类…...
基于微信小程序的宿舍报修管理系统设计与实现,SpringBoot(15500字)+Vue+毕业论文+指导搭建视频
运行环境 jdkmysqlIntelliJ IDEAmaven3微信开发者工具 项目技术SpringBoothtmlcssjsjqueryvue2uni-app 宿舍报修小程序是一个集中管理宿舍维修请求的在线平台,为学生、维修人员和管理员提供了一个便捷、高效的交互界面。以下是关于这些功能的简单介绍: …...
分布式同步锁:原理、实现与应用
分布式同步锁:原理、实现与应用 引言1. 分布式同步锁的基本概念1.1 什么是分布式同步锁?1.2 分布式锁的特性 2. 分布式锁的实现方式2.1 基于数据库的分布式锁实现原理优缺点示例 2.2 基于 Redis 的分布式锁实现原理优缺点示例Redlock 算法 2.3 基于 ZooK…...
Chrome多开终极形态解锁!「窗口管理工具+IP隔离插件
Web3项目多开,继ads指纹浏览器钱包被盗后,更多人采用原生chrome浏览器,当然对于新手,指纹浏览器每月成本也是一笔不小开支,今天逛Github发现了这样一个解决方案,作者开发了窗口管理工具IP隔离插件ÿ…...
FreeSwitch的应用类模块
FreeSWITCH 应用类模块(Applications)完整表格 模块名称功能描述mod_callcenter提供呼叫中心功能,支持队列、座席管理、监控等。mod_conference提供多方会议功能,支持音频、视频会议。mod_blacklist提供黑名单功能,阻…...
【蓝桥杯集训·每日一题2025】 AcWing 6123. 哞叫时间 python
6123. 哞叫时间 Week 1 2月18日 农夫约翰正在试图向埃尔茜描述他最喜欢的 USACO 竞赛,但她很难理解为什么他这么喜欢它。 他说「竞赛中我最喜欢的部分是贝茜说 『现在是哞哞时间』并在整个竞赛中一直哞哞叫」。 埃尔茜仍然不理解,所以农夫约翰将竞赛以…...
Unity 淡入淡出
淡入(Fade in):类似打开幕布 淡出(Fade out):类似关上幕布 方案一 使用Dotween(推荐) using DG.Tweening; using UnityEngine; using UnityEngine.UI;public class Test : MonoB…...
PBR光照模型相关知识
PBR是基于物理的光照模型,与lambert光照模型以及Blinn-Phong光照模型有所不同 一、三种光照模型的区别 原理基础 Lambert 光照模型:基于朗伯余弦定律,该定律表明,漫反射光的强度与入射光的方向和物体表面法线的夹角的余弦值成正比…...
【Go | 从0实现简单分布式缓存】-2:HTTP服务端与一致性哈希
本文目录 一、回顾1.1 复习接口 二、http标准库三、实现HTTP服务端四、一致性哈希 本文为极客兔兔“动手写分布式缓存GeeCache”学习笔记。 一、回顾 昨天已经开发了一部分项目,我们先来看看项目结构。 分布式缓存需要实现节点间通信,建立基于 HTTP 的…...
STM32 低功耗模式
目录 背景 低功耗模式 睡眠模式 进入睡眠模式 退出睡眠模式 停止模式 进入停止模式 退出停止模式 待机模式 进入待机模式 退出待机模式 程序 睡眠模式 休眠模式配置 进入休眠模式 退出睡眠模式 停止模式 停止模式配置 进入停止模式 退出停止模式 待机模式…...
AI 百炼成神:逻辑回归, 垃圾邮件分类
第二个项目:逻辑回归垃圾邮件分类 项目代码下载地址:https://download.csdn.net/download/m0_56366541/90398247 项目目标 学习逻辑回归的基本概念。使用逻辑回归算法来实现垃圾邮件的分类。理解如何处理文本数据以及如何评估分类模型的性能。项目步骤 准备数据集 我们将使…...
#渗透测试#批量漏洞挖掘#Apache Log4j反序列化命令执行漏洞
免责声明 本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停止本文章读。 目录 Apache Log4j反序列化命令执行漏洞 一、…...