Git系列---标签管理


📙 作者简介 :RO-BERRY

📗 学习方向:致力于C、C++、数据结构、TCP/IP、数据库等等一系列知识

📒 日后方向 : 偏向于CPP开发以及大数据方向,欢迎各位关注,谢谢各位的支持



目录


1.理解标签

标签 tag ,可以简单的理解为是对某次 commit 的⼀个标识,相当于起了一个别名。例如,在项⽬发布某个版本的时候,针对最后一次 commit 起一个 v1.0 这样的标签来标识里程碑的意义。

这有什么用呢?相较于难以记住的 commit id , tag 很好的解决这个问题,因为 tag ⼀定要给⼀个让⼈容易记住,且有意义的名字。当我们需要回退到某个重要版本时,直接使用标签就能很快定位到。


2.创建标签

在Git中打标签非常简单,首先,切换到需要打标签的分支上,然后,敲命令 git tag name 就可以打一个新标签

可以用命令 git tag 查看所有标签

我们查看一下git文件

可以看到我们的refs下新增了一个tags

我们打印一下试试

我们使用git log可以看到,它就是对我们最新的一次commit操作进行了打标签

默认标签是打在最新提交的 commit 上的。那如何在指定的commit上打标签呢?⽅法是找到历史提交的commit id,然后打上就可以了,示例如下

注意,标签不是按时间顺序列出,而是按字母排序的。

Git 还提供可以创建带有说明的标签,用-a指定标签名,-m指定说明文字,格式为

git tag -a name -m "XXX" commit_id

比如:

可以⽤ git show tagname 查看标签信息。

3.操作标签

如果标签打错了,也可以删除:

因为创建的标签都只存储在本地,不会自动推送到远程。所以,打错的标签可以在本地安全删除。

如果要推送某个标签到远程,使用命令

git push origin <tagname>

此时,查看远端码云,看到了标签已经被更新!完美!

当然,如果你本地有很多标签,也可以⼀次性的全部推送到远端

git push origin --tags

如果标签已经推送到远程,要删除远程标签就⿇烦⼀点,先从本地删除:

然后,从远程删除。删除命令也是push,但是格式如下

在码云上查看确实删除成功:

相关推荐
PHP实战开发录1 小时前
PHP脚本手动能跑定时任务却失败
开发语言·php·开发
郝学胜-神的一滴2 小时前
Effective Python 条款 10 :海象运算符_=
开发语言·python·程序人生·开源
wuyk5552 小时前
Python零基础入门第十四章:异常处理(try-except)
开发语言·python
wuyk5552 小时前
【Socket 进阶之路】第 3 章 TCP 三次握手 & 四次挥手深度剖析|连接建立、断开、状态机、TIME_WAIT 核心工程问题
服务器·开发语言·网络·物联网·网络协议·tcp/ip
allnlei2 小时前
s6-overlay - 装在 Docker 容器里的轻量级管家
java·docker·容器
彧azz8 小时前
图的存储结构详解:邻接矩阵的原理、实现与应用
开发语言·数据结构·学习·php
IT_Octopus8 小时前
IntelliJ 本地日志路径自定义:`-DLOG_PATH=./logs` 为什么总“不听话“
java·log4j·intellij-idea
嵌入式学习菌8 小时前
Modbus‑RTU 数据类型分析
开发语言·单片机·bug
长征coder8 小时前
【无标题】
java·性能优化
浅念-9 小时前
一文吃透Git:本地操作|冲突处理|远程协作|GitFlow工作流详解
大数据·git·elasticsearch·搜索引擎·gitflow