git的分支及标签使用及情景演示

news2024/11/18 9:38:24

目录

一. 环境讲述

二.分支 

1.1  命令

1.2情景演练

三、标签

3.1 命令

3.2  情景演示

​编辑 


一. 环境讲述


当软件从开发到正式环境部署的过程中,不同环境的作用如下:

开发环境:用于开发人员进行软件开发、测试和调试。在这个环境中,开发人员可以快速地进行代码编写、功能测试和调试,同时也可以模拟真实环境中的情况进行开发。

测试环境:用于进行软件的功能测试和性能测试。在测试环境中,测试人员可以对软件的各项功能进行测试,包括单元测试、集成测试和系统测试,以及性能和稳定性测试。

集成环境:用于将不同模块或组件集成在一起进行测试。在这个环境中,开发人员可以确保不同模块之间的接口和交互正常,同时也可以进行一些集成测试,以验证整个系统的功能和稳定性。

灰度环境:用于部分用户或服务器进行新版本的有限范围测试。在灰度环境中,可以让一部分用户先体验新版本,以便及时发现和解决问题,降低全面发布带来的风险。

预生产环境:用于进行最终的测试和验证,通常会模拟正式环境的配置和数据。在这个环境中,可以进行最终的功能测试、性能测试和用户验收测试,以确保软件在正式环境中能够正常运行。

生产环境:最终部署和运行软件的环境,用于提供给最终用户使用。在生产环境中,软件需要保持高可用性、稳定性和安全性,以满足用户的需求。
 

二.分支 

1.1  命令


创建分支:

git branch    <branch_name>             # 创建一个名为<branch_name>的新分支
git checkout -b    <branch_name>     # 创建一个新分支<branch_name>并切换到该分支

查看分支:

git branch                            # 查看所有本地分支
git branch -a                        # 查看所有本地和远程分支

进入分支(切换分支):

git checkout  <branch_name>       # 切换到名为<branch_name>的分支

上传分支(推送分支到远程仓库):

git push origin  <branch_name>    # 将当前分支推送到远程仓库
 

1.2情景演练

创建一个私有的仓库

 使用命令进行克隆,将仓库的文件复制到本地文件中

 

比如我们在开发中需要实现8个模块,我这里的创建8个文件来进行模拟。

 

在本地工作区间中,右键打开命令窗口

输入命令创建开发环境 :  git branch dev  ( 比如这是创建一个开发环境 )

输入命令创建测试环境 :  git branch test( 比如这是创建一个测试环境 )

比如现在已经有5个模块做完成了,需要上传到测试环境中。

使用gui打开图形操作界面,右键点击Git GUI 。点击文件图标,要1到5的文件让git管理

 

比如5个模块已经开发完成了,需要放入测试环境中进行测试,输入以下命令

 git commit -m "已开发完毕,放入测试环境中"

在查看模块的状态。

 

之后,我们进入到测试环境中,在本地的文件夹中是看不到在测试环境中的文件的,

输入命令进入测试环境 :  git checkout test

 

输入以下命令,将开发环境中的模块和测试环境中的模块进行整合,整合之后在测试环境中可以看到所有的模块。

命令 :  git merge dev

 

测试完成后,我们进入到开发环境中,将开发环境作为一个分支上传到远程仓库中

命令 :  git checkout dev   ( 进入开发环境 )

命令 :  git push origin dev  ( 将开发环境作为一个分支上传到远程仓库中 )

 

上传后,在远程仓库中的这个分支里,就可以看到当时开发环境的所有模块及代码和文件

我们再进入到测试环境中,将测试环境作为一个分支上传到远程仓库中

命令 :  git checkout test( 进入测试环境 )

命令 :  git push origin test( 将测试环境作为一个分支上传到远程仓库中 )
 

 

三、标签

3.1 命令

创建标签:

git tag   <tag_name>      # 创建一个轻量标签,标签名称 : <tag_name>
git tag -a  <tag_name>  -m "tag message"   #创建一个带注释的标签

查看标签:

git tag        # 列出所有标签

进入标签(切换到标签所指向的提交):

git checkout <tag_name>      # 切换到名为<tag_name>的标签所指向的提交

上传标签(推送标签到远程仓库):

git push origin  <tag_name>     # 将名为<tag_name>的标签推送到远程仓库
git push --tags                           # 将所有本地标签推送到远程仓库
 

 

删除标签 :

git tag -d <tag_name>    # 将名为<tag_name>的标签删除

git push origin :refs/tags/<tag_name>    # 将在远程仓库名为<tag_name>的标签删除

3.2  情景演示

进入开发环境(dev),创建一个相对开发环境的标签,并且上传到自己的远程仓库

命令 :  git checkout dev  ( 进入开发环境 )

命令 :  git tag v1.0.0.20231111.alpha   ( 创建标签 )

命令 :  git push origin v1.0.0.20231111.alpha  ( 将标签上传到远程仓库 )
 

 

上传后,在远程仓库汇中就可以看到该标签,并且标识上传的开发环境的分支。

进入生成环境(master),创建一个相对生成环境的标签,并且上传到自己的远程仓库

命令 :  git checkout master  ( 进入生成环境 )

命令 :  git tag v2.0.0.20231111.r  ( 创建生成环境标签 )

命令 :  git push origin v2.0.0.20231111.r  ( 上传到远程仓库 )

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

git push origin masterEverything up-to-date

按住这个看一下很简单的问题&#xff0c;我在网上看了很多就是没找到能用的&#xff0c;最后找到了这个看起来写的很简单的一个文章&#xff0c;但他写的真的有用。 出现的问题 解决步骤

前端开发引入element plus与windi css

背景 前端开发有很多流行框架&#xff0c;像React 、angular、vue等等&#xff0c;本文主要讲vue 给新手用的教程&#xff0c;其实官网已经写的很清楚&#xff0c;这里再啰嗦只是为了给新手提供一个更加简单明了的参考手册。 一、打开element plus官网选则如图所示模块安装命令…

【学习笔记】Understanding LSTM Networks

Understanding LSTM Networks 前言Recurrent Neural NetworksThe Problem of Long-Term DependenciesLSTM Networks The Core Idea Behind LSTMsStep-by-Step LSTM Walk ThroughForget Gate LayerInput Gate LayerOutput Gate Layer Variants on Long Short Term MemoryConclus…

go学习之接口知识

文章目录 接口1.接口案例代码展示2.基本介绍3.基本语法4.应用场景介绍5.注意事项和细节6.接口编程经典案例7.接口与继承之间的比较8.面向对象编程--多态1&#xff09;基本介绍2&#xff09;快速入门3&#xff09;接口体现多态的两种形式 9.类型断言1&#xff09;先看一个需求2&…

odoo16 库存初始化 excel导入问题2

产品导入模板: excel内容: 导入测试 查看可能的值,发现没有ml,在计量单位中增加ml选项(不选创建,知道为什么不,仔细想想,创建不知ml是什么单位) 位置不能在此导入,故取消 测试正常 导入成功 总结:产品导入时,位置无法指定,只建产品名称,计量单位,采购单位,

混沌系统在图像加密中的应用(基于哈密顿能量函数的混沌系统构造1.3)

混沌系统在图像加密中的应用&#xff08;基于哈密顿能量函数的混沌系统构造1.3&#xff09; 前言一类三维非哈密顿系统的构造与动态特性分析1.相关理论基础2.类Nos-Hoove系统构造的思路及实现3.基于哈密顿能量理论的Nos-Hoove系统的分析与仿真3.1 平衡点分析3.2 不同强度激励下…

软件设计师 之 【第三章】数据库系统

文章底部有个人公众号&#xff1a;热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享&#xff1f; 踩过的坑没必要让别人在再踩&#xff0c;自己复盘也能加深记忆。利己利人、所谓双赢。 1、数据库系统前言 2、三级模式 - 两级映射…

数据结构 | 带头双向循环链表专题

数据结构 | 带头双向循环链表专题 前言 前面我们学了单链表&#xff0c;我们这次来看一个专题带头的双向循环链表~~ 文章目录 数据结构 | 带头双向循环链表专题前言带头双向循环链表的结构实现双向链表头文件的定义哨兵位初始化创建节点尾插尾删头插头删打印查找指定位置前插入…

DevChat 初探之 RBAC 模型的实现

今天我们来尝试一款编程辅助助手 DevChat, 看能不能提升咱们的日常编程效率。作为一款编程助手&#xff0c;我们来看看它与 Copilot, CodeWhisperer 同领域产品的一些区别和特色。定个小目标&#xff0c;通过 DevChat 实现一个简单的 RBAC 模型&#xff0c;小试牛刀一下&#x…

虚拟机CentOS 8 重启后不能上网

情况说明&#xff1a;原本虚拟机是可以上网的&#xff0c;然后嘚一下&#xff0c;重启后&#xff0c;连接不上网络&#xff0c;完了&#xff0c;上网查找一堆质料&#xff0c;我的连接方式是桥接模式&#xff08;复制物理网络连接状态&#xff09;。 好&#xff0c;有人说是vmn…

C++: 内存管理 (new / delete)

文章目录 一. C/C 内存分布二. C 语言中动态内存管理方式: malloc/calloc/realloc/free三. C内存管理方式1. new / delete 操作内置类型2. new / delete 操作自定义类型 四. operator new 与 operator delete 函数五. new 和 delete 的实现原理1. 内置类型2. 自定义类型 六. 定…

双11终极官方战报 凯迪仕智能锁全网全渠道第一 持续领跑智能锁行业

一年一度双11狂欢盛典暂时落下帷幕&#xff0c;作为下半年最大的电商购物节&#xff0c;本次双11电商平台借机推出优惠券、补贴、折扣等促销活动&#xff0c;激发消费者购物热情。其中&#xff0c;智能门锁等智能家居产品更是取得了亮眼的成交。 据悉&#xff0c;凯迪仕智能锁双…

自定义Graph Component:1-开发指南

可以使用自定义NLU组件和策略扩展Rasa&#xff0c;本文提供了如何开发自己的自定义Graph Component指南。   Rasa提供各种开箱即用的NLU组件和策略。可以使用自定义Graph Component对其进行自定义或从头开始创建自己的组件。   要在Rasa中使用自定义Graph Component&#x…

Pinia 状态管理器 菠萝:Setup Store风格

Pinia介绍&#xff1a; Pinia 是 Vue 的专属状态管理库&#xff0c;它允许你跨组件或页面共享状态。 Pinia 大小只有 1kb 左右&#xff0c;超轻量级&#xff0c;你甚至可能忘记它的存在&#xff01; 相比 Vuex,Pinia 的优点&#xff1a; 更贴合 Vue 3 的 Composition API 风…

C语言从入门到精通之【数据类型和关键字】

数据类型在程序使用之前已经预先设定好了&#xff0c;在整个程序的运行过程中没有变化&#xff0c;这些称为常量&#xff08;constant&#xff09;。其他数据类型在程序运行期间可能会改变或被赋值&#xff0c;这些称为变量&#xff08;variable&#xff09;。 变量类型有几种…

golang Copier 数据复制

Copier I am a copier, I copy everything from one to another Copier是golang实现的&#xff0c;实现不同数据结构之间数据复制的工具包 github地址 使用方法 以User和Employee之间相互复制为例 使用的版本为 v0.3.5 入门 package mainimport ("fmt""git…

基于SSM的数据结构课程网络学习平台

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;Vue 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#xff1a;是 目录…

BM65 最长公共子序列(二)

动态规划 BM65 最长公共子序列&#xff08;二&#xff09; 这道题是动态规划的典型例题。 思路 题目要求获取最长公共子序列&#xff0c;我们要先求最长公共子序列的长度&#xff0c;然后根据这个长度倒推从而获取这个子序列。注意&#xff1a;子序列不是子串&#xff0c;子…

springboot的配置信息的设置和读取(application.properties/application.yml)

springboot提供了两种配置信息的文件格式&#xff0c;application.properties和application.yml&#xff0c;基于直接明了&#xff0c;使用方便和高效的前提下下面的配置均采用yml格式配置&#xff0c; 注意 yml采用缩减方式来排列键后面紧跟冒号&#xff0c;然后空格&#x…

数据结构—内部排序(上)

文章目录 8.内部排序(上)(1).排序基础#1.为什么是内部排序#2.排序的稳定性 (2).冒泡排序#1.算法思想#2.代码实现#3.稳定性与时间复杂度分析 (3).选择排序#1.算法思想#2.代码实现#3.稳定性与时间复杂度分析 (4).插入排序#1.算法思想#2.代码实现#3.稳定性与时间复杂度分析 (5).希…