git分布式管理-头歌实验标签

一、创建标签

任务描述

现在你已经成了项目负责人,由你负责发布版本,你需要在发布一个版本之前,给该版本对应的代码打上标签,以便于管理和标识。

本关任务:为最近一次提交打上标签。

相关知识

在开发过程中,commit ID是一串无序的字符,它虽然能唯一标记一次代码提交,即一个版本。但是,它很难记忆和辨识。所以,为了给不同的版本起一个容易辨识的名字,我们可以给这次提交打上一个标签,用不同的标签来对应不同的版本。这样,就相当于给这次提交生成了一个快照。实际上,在为某次提交创建标签的时候,Git会为标签生成一个指针,以指向其对应的提交。然后,我们就可以通过标签找到对应的提交,这样对我们版本发布和代码审查都很有帮助。

如上图所示,我们为master分支上的三次提交,分别打上0.10.20.3三个标签。这样,当我们说0.1版本的时候,就对应了第一次提交的代码。这种方式大大降低了代码审查、团队交流及版本发布的复杂性。

查看标签

查看标签需要用到git tag命令,其具体使用示例如下:

git tag

这样就能列出所有的标签,显示的标签按字母顺序排列,所以标签的先后并不表示重要程度的轻重。

如果标签过多,而你指向显示指定的某些标签,则可以使用正则表达式:

git tag -l 'v5.1.2.*'

如上,使用-l参数,并使用v5.1.2.*这一正则表达式,就过滤除了符合要求的标签,其中v5.1.2.*为正则表达式,它能够匹配所有前缀为v5.1.2的标签。实际执行过程中会得到类似于下方的输出:

上方输出信息,为我们列出了目前版本库中已有的四个标签。

创建标签
不含附注的标签

创建标签的命令格式为:

git tag 标签名 commitID

参数commitID标识了该标签对应的代码版本,如果不提供commitID,就默认为最近一次提交后的代码打标签。例如:

git tag v1.0
git tag v1.0 7f8buir2

语句1表示,为最新一次提交后的代码打上v1.0的标签;语句2则表示,为指定的版本7f8buir2打上标签v1.0

包含附注的标签

如果需要像提交代码时增加提交日志那样,为每个标签添加说明信息,则需要使用:

git tag -a 标签名 -m "说明信息"

如:

git tag -a v1.0 -m 'version 1.0'

表示为此次打的标签,增加一个version 1.0的说明信息。

在查看标签时,可以使用git show命令,查看某个标签的附注信息。例如:

git show v1.0

表示要查看标签v1.0对应的附注信息。

编程要求

本关的编程任务是,补全右侧代码片段中BeginEnd中间的脚本,为最近一次提交打上标签v1.0

#创建gitTraining文件夹
mkdir gitTraining

#进入gitTraining文件夹
cd gitTraining

#将gitTraining初始化为一个本地仓库
git init

#创建helloGit.txt文件
touch helloGit.txt

#将helloGit.txt添加到暂存区
git add helloGit.txt

#将helloGit.txt提价到本地仓库
git commit -m "Git入门之标签实训第一关"

#请在下面的Bein/End星号线内填写Git命令为最近一次提交打上标签v1.0
#********** Begin **********#
git tag v1.0


#********** End **********#

 二、推送指定标签

任务描述

当你为某个版本打上标签后,就需要将其分享给团队中其他成员,即要将其推送至远程版本库。

本关任务:将指定标签推送至远程仓库。

相关知识
推送指定标签

推送指定标签到远程仓库的Git命令如下:

git push 远程主机名 tag名

其中,远程主机名为远程Git版本库对应的主机名,tag名为准备推送的标签名。

该命令使用示例如下:

git push origin v1.0

该语句表示将v1.0标签,推送到主机名为origin对应的远程仓库。

推送全部标签

推送指定标签需要用到:

git push 远程主机名 --tags 

其使用方法如下:

git push origin --tags

其中origin为远程主机名,这样就能将全部标签推送至远程仓库。

编程要求

平台已经为你准备了本地仓库,进行了两次提交,并为这两次提交依次打上了v1.0v2.0标签,本地仓库的远程仓库地址为/tmp/educoder.git,主机名为origin

本关的编程任务是,补全右侧代码片段中BeginEnd中间的脚本,将本地仓库的v1.0标签推送至远程仓库origin

#进入gitTraining文件夹
cd gitTraining

#请在下面的Bein/End星号线内填写Git命令以将标签v1.0推送至远程仓库origin
#********** Begin **********#

git push origin v1.0 

#********** End **********#

 三、推送全部标签

任务描述

当你为版本打上标签后,就需要将其分享给团队中其他成员,即要将其推送至远程版本库。在前面的关卡中,我们已经学习了如何推送指定标签,但是在有些情况下,比如需要记录产品的各个版本的演变过程,或者和团队其他成员交流不同版本的代码,那么就需要将所有的标签全部推送。

本关任务:将全部标签推送至远程仓库。

编程要求

平台已经为你准备了本地仓库gitTraining,然后进行了两次提交,并为这两次提交依次打上了v1.0v2.0标签,本地仓库的远程仓库地址为/tmp/educoder.git,主机名为origin

本关的编程任务是,补全右侧代码片段中BeginEnd中间的脚本,将本地仓库的所有标签均推送至远程仓库origin

#进入gitTraining文件夹
cd gitTraining

#请在下面的Bein/End星号线内填写Git命令为将所有标签推送至远程仓库
#********** Begin **********#
git push origin --tags

#********** End **********#

 四、删除标签

任务描述

当你为需要发布的版本打上了标签之后,你发现标签打错了,这个时候就需要将该标签删除。

本关任务:删除指定标签。

相关知识
删除本地标签

删除本地标签,需要用到的命令格式为:

 git tag -d 标签名

具体使用方法示例如下:

git tag -d v1.0

这样就能实现删除v1.0标签。

删除远程标签

删除远程tag,可以使用如下命令:

git push origin --delete tag 标签名

或者如下所示的命令:

git push origin :refs/tags/<tagname>

即推送一个空的tag名到远程仓库,其中<tagname>指某个标签的名字。

这两种方式都能实现删除远程的指定标签。

编程要求

平台已经为你准备了本地仓库gitTraining,远程主机名为origin,并进行了一次提交,且为这次提交打上了v1.0的标签。

本关的编程任务是,补全右侧代码片段中BeginEnd中间的脚本,删除本地标签v1.0

#进入gitTraining文件夹
cd gitTraining

#请在下面的Bein/End星号线内填写Git命令以删除标签v1.0
#********** Begin **********#
git tag -d v1.0

#********** End **********#

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Android14之禁止vbmeta.img签名校验(一百九十)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

七彩虹八渐变 外贸建站公司wordpress模板

进出口水果wordpress外贸模板 漂亮水果wordpress外贸模板&#xff0c;做水果进出品生意的外贸公司自建站官网模板。 https://www.jianzhanpress.com/?p3516 玩具wordpress外贸模板 简洁玩具wordpress外贸模板&#xff0c;适合做跨境电商外贸公司使用的wordpres外贸s网站主题…

追寻工作与生活的和谐之道

在现代社会&#xff0c;人们往往被快节奏的工作和生活所困扰&#xff0c;如何在这两者之间找到平衡点&#xff0c;成为许多人关注的焦点。本文将为您介绍一些实用的方法和建议&#xff0c;帮助您实现工作与生活的和谐共处。 一、合理规划时间&#xff0c;提高工作效率 时间是实…

day37 贪心算法part6

738. 单调递增的数字 中等 提示 当且仅当每个相邻位数上的数字 x 和 y 满足 x < y 时&#xff0c;我们称这个整数是单调递增的。 给定一个整数 n &#xff0c;返回 小于或等于 n 的最大数字&#xff0c;且数字呈 单调递增 。 不知道怎么讲思路……以9287举例&#xff0c;…

CorelDRAW2024中文版正式发布!老户升级可享大额折扣!CDR2024下载安装 CorelDRAW2024更新内容有哪些

CorelDRAW 全称“CorelDRAW Graphics Suite“&#xff0c;也就是众所周知的”CDR“&#xff0c;是一款智能高效的平面设计软件&#xff0c;广泛应用于排版印刷、矢量图形编辑及网页设计等领域&#xff0c;30多年来无数优秀的设计师通过CorelDRAW大胆展现真我&#xff0c;交付了…

学习408之数据结构--链表-单链表的增删查改的实现-如何解决顺序表增容后空间浪费问题?

顺序表的问题及思考问题&#xff1a; 中间/头部的插入删除&#xff0c;时间复杂度为O(N)增容需要申请新空间&#xff0c;拷贝数据&#xff0c;释放旧空间。会有不小的消耗。增容一般是呈2倍的增长&#xff0c;势必会有一定的空间浪费。例如当前容量为100&#xff0c;满了以后增…

#QT(智能家居界面-布局)

1.IDE&#xff1a;QTCreator 2.实验&#xff1a; 水平布局&#xff0c;垂直布局&#xff0c;栅格布局&#xff08;弹簧&#xff09; 界面自动调整 3.记录 注意弹簧不是拖拽拉长&#xff0c;而是使用栅格布局 运行发现窗口放大缩小可以自动调整 如果想要重新布局&#xff0c;需…

ubuntu20.04安装ros并配置相关环境以及驱动AUBO i5机械臂

ubuntu20.04安装ros并配置相关环境以及驱动AUBO i5机械臂 安装ros安装rosdep(小鱼的rosdepc,又快又好用)环境配置下载并编译aubo roslib库环境变量配置aubo gazeboaubo rviz驱动真实机械臂 安装ros 搜索鱼香ros网站https://fishros.com/&#xff0c;根据一键安装ros里提供的指…

某讯滑块动态明文数组构造

声明&#xff1a; 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01;若有侵权&#xff0c;请添加&#xff08;wx&#xff1a;wyqlxl99&#xff09;联系删除 …

R语言,实现MACD指标计算:股票技术分析的利器系列(1)

R语言&#xff0c;实现MACD指标计算&#xff1a;股票技术分析的利器系列&#xff08;1&#xff09; MACD指标代码完整代码介绍代码EMA函数calculate_DEA 函数calculate_MACD 函数 运行结果 MACD指标 先看看官方介绍&#xff1a; MACD (平滑异同平均线&#xff09; 指标说明 DI…

智引未来:2024年科技革新引领工业界变革与机遇

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…

苍穹外卖技术栈

Day5 Redis_Spring Data Redis使用方法 Spring Data Redis Spring Date Redis 是Spring的一部分&#xff0c; 对Redis底层开发包进行了高度封装&#xff0c;在Spring项目中&#xff0c;可以使用Spring Data Redis来简化操作。 操作步骤 导入Spring Data Redis 的maven坐标配置…

cefsharp(winForm)调用js脚本,js脚本调用c#方法

本博文针对js-csharp交互(相互调用的应用) (一)、js调用c#方法 1.1 类名称:cs_js_obj public class cs_js_obj{//注意,js调用C#,不一定在主线程上调用的,需要用SynchronizationContext来切换到主线程//private System.Threading.SynchronizationContext context;//…

一键清除JavaScript代码中的注释:使用正则表达式实现

这个正则表达式可以有效地匹配 JavaScript 代码中的各种注释&#xff0c;并且跳过了以 http: 或 https: 开头的链接。 /\/\*[\s\S]*?\*\/|\/\/[^\n]*|<!--[\s\S]*?-->|(?<!http:|https:)\/\/[^\n]*/gvscode 实战&#xff0c;ctrlF 调出查找替换工具&#xff0c;点…

Windows环境下搭建chatGLM-6B-int4量化版模型(图文详解-成果案例)

目录 一、ChatGLM-6B介绍 二、环境准备 1. 硬件环境 2. TDM-GCC安装 3.git安装 4.Anaconda安装 三、模型安装 1.下载ChatGLM-6b和环境准备 方式一&#xff1a;git命令 方式二&#xff1a;手动下载 2.下载预训练模型 方式一&#xff1a;在Hugging Face HUb下载&…

关于并发编程和并行

目录 前言: 并发编程: 1.并发编程的定义: 2. 并发编程的目的 2.1提高性能&#xff1a; 2.2增强响应性&#xff1a; 2.3资源利用&#xff1a; 3. 并发编程的实现方式 3.1多线程&#xff1a; 3.2多进程&#xff1a; 3.3异步编程&#xff1a; 3.4协程&#xff1a; 4. …

计算矩阵特征值和特征向量 numpy.linalg.eig()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 计算矩阵特征值和特征向量 numpy.linalg.eig() [太阳]选择题 请问根据以下程序说法正确的是&#xff1a; import numpy as np A np.array([[1,2], [2,1]]) print("【显示】A:\n",A…

buuctf EasyBypass --不会编程的崽

buu后边的题有些确实难&#xff0c;有些其实也没那么复杂。昨天做一道异或绕过的题&#xff0c;现在还没看懂QAQ 先来一题简单的吧。哎&#xff0c;随缘更新吧 <?phphighlight_file(__FILE__);$comm1 $_GET[comm1]; $comm2 $_GET[comm2];if(preg_match("/\|\|\\|\…

lanqiao:合根植物

题目描述&#xff1a; 代码实现&#xff1a;

Matlab|【免费】基于合作博弈的综合能源系统利益分配优化调度

目录 主要内容 部分代码 结果一览 下载链接 主要内容 该程序实现的模型为综合能源系统利益分配优化调度&#xff0c;采用合作博弈方法&#xff0c;模型针对IES系统的P2G、电解槽、甲烷反应器、储氢罐、CHP和燃气锅炉等设备进行建模&#xff0c;实现基于合作博弈的…
最新文章