git分支与tag标签的介绍与使用)

git分支与tag标签的介绍与使用

  • 一.什么是分支与标签
    • 1.2.开发环境分层
  • 二git分支介绍
    • 2.1分支操作
    • 2.2.IDEA中操作分支
  • 三、Git标签的讲解
    • 3.1.GitBashHere操作标签
    • 3.2. IDEA中操作标签

一.什么是分支与标签

分支(Branches):

功能开发:当团队成员需要开发新的功能时,可以创建一个新的功能分支。这个分支可以独立于主开发线,不影响其他开发工作,同时允许团队成员在不干扰主要开发线的情况下进行工作。
Bug 修复:如果在主开发线上发现了 Bug,团队可以创建一个专门的修复分支来解决问题,而不必等待当前正在进行的开发完成。
版本发布:在准备发布新版本时,可以为发布创建一个专门的分支。这样团队可以继续在主开发线上进行新功能的开发,同时在发布分支上进行最后的稳定性测试和 bug 修复。
标签(Tags):

版本发布:当软件达到一个里程碑式的版本,比如一个重要的发布版本或者里程碑版本,团队可以为该版本创建一个标签。这个标签可以被用来标识对应版本的代码状态,方便日后回溯和管理。
重要事件:有些团队会在代码中打标签以标识重要事件,比如重大功能上线、重要的架构调整等,以便日后追踪了解项目发展的历程。

1.2.开发环境分层

开发(Development):

代表着程序员或开发团队编写、调试和测试新功能或修改现有功能的阶段。
在开发环境中,开发人员可以自由地进行代码编辑、构建和调试,以实现新功能或解决现有问题。
这个阶段通常是代码变动最频繁、灵活度要求最高的阶段。
测试(Testing):

代表着对开发完成的功能、模块或整体系统进行各种测试,包括单元测试、集成测试、验收测试等。
在测试环境中,测试人员或自动化测试工具会对软件进行严格的测试以确保其功能的正确性、性能的稳定性等。
这个阶段的重点是验证软件的质量,发现并修复潜在的缺陷。
演示(Staging):

代表着将已经通过开发和测试的功能部署到一个类似生产环境的环境中进行最终的集成测试和验证。
在演示环境中,通常会模拟真实的生产环境配置,包括数据库、缓存、消息队列等,以确保软件能够正常运行并与其他系统协作。
这个阶段的目标是确保部署到生产环境之前的系统稳定性和一致性。
生产(Production):

代表着最终用户会接触到的实际运行环境,软件在这里提供服务并处理真实的数据和用户请求。
在生产环境中,软件需要保持高可用性、高性能和安全性,并且通常需要与监控系统结合以及随时准备应对故障。
这个阶段的关注点是确保系统可靠地为最终用户提供服务,并及时响应和处理各种异常情况。
1.3.分支与标签的关系
"dev"阶段对应"alpha"状态,表示正在开发阶段的软件版本。
"test"阶段对应"beta"状态,表示正在测试阶段的软件版本。
"pre"阶段对应"rc"状态,表示预发布或者灰度测试阶段的软件版本。
"pro"阶段对应"r"状态,表示正式发布或者生产环境中的软件版本。
1.二、Git分支的讲解

二git分支介绍

2.1分支操作

git branch           //查看本地分支
git branch -a        //查看远程分支

在这里插入图片描述
可以看到我们除了默认的master并无其他分支

创建分支git branch name //仅仅保存本地,远程还需要push

在这里插入图片描述
切换分支git checkout name
在这里插入图片描述
当前切换到了dev下

合并某分支到当前分支 git merge name

我先在dev提交五个文件后再到test合并
在这里插入图片描述
分支提交远程git push origin name
在这里插入图片描述
删除分支(先删除本地才能删除远程,删除本地需要先切其他分支)

git branch -d name              //删除本地分支
git push origin --delete dev   //删除远程分支

删除就不为大家演示了,自己去尝试就可以啦。

2.2.IDEA中操作分支

右键git工程,进入git,选择Branches
在这里插入图片描述
选择要切换的分支

当前的分支是master,我新建一个dev并切换
在这里插入图片描述
现在已经切换到dev里面了
但是 “Remote Branches” 下依然只有一个 master 分支,表明在我们的远程仓库依然只有一个master 分支,因此我们还需要把在本地仓库新建的分支推送到远程仓库中,这样就可以在远程仓库中看到新建的分支了。

单击dev2 ,然后在左边单击 “Push” ,弹出推送对话框。单击 “Push” 推送到远程仓库,这样分支新建操作彻底完成,可以看到在"Remote Branches"分支下面出现了“dev2 ”,我们可以在该分支进行编码并进行拉取和推送操作。
在这里插入图片描述

在这里插入图片描述
如果删除分支之前,建议先切换到(Checkout)其他分支,例如,Checkout到master分支,当然这并不强制,只是为了方便删除分支而已
删除就不给大家演示了。

三、Git标签的讲解

3.1.GitBashHere操作标签

发布一个版本时,我们通常先在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。所以,标签也是版本库的一个快照。

查看所有标签git tag
在这里插入图片描述
创建tag

首先,切换到需要打标签的分支上,例如:test,再创建标签
在这里插入图片描述
创建好啦
推送标签到远程git push origin
在这里插入图片描述
删除tag

如果标签已经推送到远程,要删除远程标签就麻烦一点,先从本地删除
git tag -d 1.0.0-alpha
然后,再从远程删除。删除命令也是push,但是格式如下:
git push origin :refs/tags/1.0.0-alpha
删除就不演示了,有兴趣自己尝试。

3.2. IDEA中操作标签

idea创建tag

可以右键项目,然后按照 Git -> Repository -> Tag… 创建tag。

或 顶部菜单栏 按照 VCS -> Git-> Tag… 创建tag

在这里插入图片描述
查看某个tag版本只需要切换版本即可
在这里插入图片描述
这样就可以切换了。

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

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

相关文章

未来的拥塞控制与 Linux EEVDF 调度器

有破要有立。 前面提到 经典端到端拥塞控制将越来越失效,未来该如何,谈谈我的看法。 端到端拥塞控制的难点根本上是要解决公平性问题,顺带着提高资源利用率。我们很容易理解,在共享资源场景下,不公平一定是低效的&am…

[云原生案例2.4 ] Kubernetes的部署安装 【通过Kubeadm部署Kubernetes高可用集群】

文章目录 1. 基本架构及前置准备1.1 基本架构1.2 前置准备 2. 系统初始化操作 ---- 所有节点2.1 关闭防火墙、selinux和swap分区2.1.1 关闭防火墙和selinux2.1.2 关闭交换分区 2.2 修改主机名,添加域名映射2.2.1 修改主机名2.2.2 修改本地hosts文件 2.3 内核升级2.4…

html菜单的基本制作

前面写过一点网页菜单的博文&#xff1b;下面再复习一些技术要点&#xff1b; <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns"http://www.w3.…

RLHF讲解

RLHF包含了两个至关重要的步骤&#xff1a; 训练Reward Model用Reward Model和SFT Model构造Reward Function&#xff0c;基于PPO算法来训练LLM frozen RMfrozen SFT ModelActor π Φ R L \pi_{\Phi}^{R L} πΦRL​ initialized from SFT ModelCritic V η V_\eta Vη​ i…

tensorboard报错解决:No dashboards are active for the current data set

版本&#xff1a;tensorboard 2.10.0 问题&#xff1a;文件夹下明明有events文件&#xff0c;但用tensorboard命令却无法显示。 例如&#xff1a; 原因&#xff1a;有可能是文件路径太长了&#xff0c;导致系统无法读取文件。在win系统中规定&#xff0c;目录的绝对路径不得超…

案例续集留言板

前端没有保存数据的功能,后端把数据保存下来(内存,数据库等等......) 前端代码如下 : <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initia…

论文笔记--Baichuan 2: Open Large-scale Language Models

论文笔记--Baichuan 2: Open Large-scale Language Models 1. 文章简介2. 文章概括3 文章重点技术3.1 预训练3.1.1 预训练数据3.1.2 模型架构 3.2 对齐3.2.1 SFT3.2.2 Reward Model(RM)3.2.3 PPO 3.3 安全性 4. 文章亮点5. 原文传送门 1. 文章简介 标题&#xff1a;Baichuan 2…

PyQt制作【小红书图片抓取】神器

文章目录 &#x1f4e2;闲言碎语&#x1f43e;窗口设计&#x1f43e;功能设计&#x1f4da;资源领取 &#x1f4e2;闲言碎语 最近写一个系统&#xff0c;被一个Bug折腾了两天&#xff0c;至今还未解决。由于解决Bug弄得我有点心力憔悴&#xff0c;于是想着写其他小项目玩玩&am…

Halcon WPF 开发学习笔记(2):Halcon导出c#脚本和WPF初步开发

文章目录 前言HalconC#教学简单说明如何二开机器视觉如何二次开发Halcon导出Halcon脚本新建WPF项目&#xff0c;导入Halcon脚本和Halcon命名空间 前言 我目前搜了一下我了解的机器视觉软件&#xff0c;有如下特点 优点缺点兼容性教学视频(B站前三播放量)OpenCV开源&#xff0…

Windows桌面黑屏无法打开软件窗口不显示卡死等解决方案

问题还原 该软件窗口无论如何操作均 无法打开显示的窗口 ,但是 可使用 ALTTab 看到任务视图 目录 问题还原 解决方案 1. 使用 WinR 打开命令窗口 盲输 cmd 2. 盲输 taskkill /f /im explorer.exe 关闭资源管理器 3. 输入 start explorer.exe 启动任务管理器即可恢复正常…

TDD、BDD、ATDD以及SBE的概念和区别

在软件开发或是软件测试中会遇到以下这些词&#xff1a;TDD 、BDD 、ATDD以及SBE&#xff0c;这些词代表什么意思呢&#xff1f; 它们之间有什么关系吗&#xff1f; TDD 、BDD 、ATDD以及SBE的基本概念 TDD&#xff1a;&#xff08;Test Driven Development&#xff09;是一种…

基于飞蛾扑火算法优化概率神经网络PNN的分类预测 - 附代码

基于飞蛾扑火算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于飞蛾扑火算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于飞蛾扑火优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要&#xff1a;针对PNN神…

链表OJ题(4)

目录 10.链表的回文结构 11.随机链表的复制 &#x1f642;找中间节点一定要考虑偶数个和奇数个的问题。 &#x1f642;指针指向的前中后。 &#x1f642;链表节点的位置个数/链表的节点中的数字。&#x1f197;&#x1f197; 今天最后两道链表OJ题目。 10.链表的回文结构…

【C++】非类型模板参数 | array容器 | 模板特化 | 模板为什么不能分离编译

目录 一、非类型模板参数 二、array容器 三、模板特化 为什么要对模板进行特化 函数模板特化 补充一个问题 类模板特化 全特化与偏特化 全特化 偏特化 四、模板为什么不能分离编译 为什么 怎么办 五、总结模板的优缺点 一、非类型模板参数 模板参数分两类&#x…

数据结构预算法--链表(单链表,双向链表)

1.链表 目录 1.链表 1.1链表的概念及结构 1.2 链表的分类 2.单链表的实现(不带哨兵位&#xff09; 2.1接口函数 2.2函数的实现 3.双向链表的实现&#xff08;带哨兵位&#xff09; 3.1接口函数 3.2函数的实现 1.1链表的概念及结构 概念&#xff1a;链表是一种物理存储结…

黑豹程序员-架构师学习路线图-百科:Knife4j API接口文档管理

文章目录 由来&#xff1a;接口文档第一代&#xff1a;Swagger第二代&#xff1a;Knife4j界面 由来&#xff1a;接口文档 古老编程是一个语言前后端通吃&#xff0c;ASP、JSP、PHP都是如此。 但随着项目规模变大&#xff0c;项目团队也开始壮大&#xff0c;岗位职责开始细分&a…

如何从零开始手写一个消息中间件(从宏观角度理解消息中间件的技术原理)

如何从零开始手写一个消息中间件&#xff08;从宏观角度理解消息中间件的技术原理&#xff09; 什么是消息中间件消息中间件的作用逐一拆解消息中间件的核心技术消息中间件核心技术总览IOBIONIOIO多路复用AIOIO多路复用详细分析selectpollepoll Java中的IO多路复用 协议序列化消…

【halcon】halcon 函数文件 以及 脚本引擎如何调用外部函数文件 上篇

前言 halcon有几种文件&#xff1a; 本地程序函数&#xff08;.hdev&#xff09;外部函数文件&#xff08;.hdvp)库函数(.hdp) 说多了容易混淆&#xff0c;今天就说&#xff0c;我觉得最有用的&#xff1a;外部函数文件&#xff08;.hdvp) 步骤 先写一段halcon脚本&#x…

Nuxt.js——基于 Vue 的服务端渲染应用框架

文章目录 前言一、知识普及什么是服务端渲染什么是客户端渲染&#xff1f;服务端渲染与客户端渲染那个更优秀&#xff1f; 二、Nuxt.js的特点Nuxt.js的适用情况&#xff1f; 三、Vue是如何实现服务端渲染的&#xff1f;安装依赖使用vue安装 Nuxt使用npm install安装依赖包使用n…

C语言——打印1000年到2000年之间的闰年

闰年&#xff1a; 1、能被4整除不能被100整除 2、能被400整除 #define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h> int main() {int year;for(year 1000; year < 2000; year){if((year%4 0) && (year%100!0) || (year%400 0)){printf("%d ",ye…