前言

那么这里博主先安利一些干货满满的专栏了!

首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助。

然后就是博主最近最花时间的一个专栏《Git企业开发控制理论和实操》希望大家多多关注!


Git的标签管理

理解标签

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

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

操作标签

先切换到要打标签的分支上。然后打标签。

git tag v1.0 # 给最新的这一次提交打上标签名为"v1.0"
git tag # 查看当前有哪些标签存在

可以证明一下打标签是打给了最新的一次提交。

├── ORIG_HEAD
├── packed-refs
└── refs
├── heads
│ └── master
├── remotes
│ └── origin
│ ├── HEAD
│ └── master
└── tags
└── v1.0 24 directories, 38 files
(base) [yufc@ALiCentos7:~/Src/Bit-Courses/GitDevelopment/remote-gitcode]$ cat .git/refs/tags/v1.0
7393ea000a2f7baae095b045b0bcd946718d404d
(base) [yufc@ALiCentos7:~/Src/Bit-Courses/GitDevelopment/remote-gitcode]$ git log
commit 7393ea000a2f7baae095b045b0bcd946718d404d
Author: Yufch <yufc779@gmail.com>
Date: Thu Aug 24 23:48:08 2023 +0800

可以看到tag里面存的就是最新的commit id

给之前的commit打标签也是可以的,后面跟上commit id就行了。

git tag v0.9 xxxx # 后面跟上commit id就行了

当然,tag后面也可以跟上描述。

git tag -a v0.8 -m "important tag:XXX" xxxx # 后面跟上commit id即可

然后怎么查看这个描述呢?

git show v0.8 # 查看v0.8这个标签的详细信息
(base) [yufc@ALiCentos7:~/Src/Bit-Courses/GitDevelopment/remote-gitcode]$ git lpa
7393ea0 add .gitignore
8513266 update file.txt.
7352d02 create file.txt
a9af182 Initial commit
(base) [yufc@ALiCentos7:~/Src/Bit-Courses/GitDevelopment/remote-gitcode]$ git tag -a v0.8 -m "important tag:XXX" a9af182
(base) [yufc@ALiCentos7:~/Src/Bit-Courses/GitDevelopment/remote-gitcode]$ git tag
v0.8
v1.0
(base) [yufc@ALiCentos7:~/Src/Bit-Courses/GitDevelopment/remote-gitcode]$ git show v0.8
tag v0.8
Tagger: Yufch <yufc779@gmail.com>
Date: Fri Aug 25 17:02:54 2023 +0800 important tag:XXX commit a9af182743c539e1ed0ba46cf847580e542473ed
...

推送标签

git push origin v1.0 # 把tag: v1.0 推送到远程
(base) [yufc@ALiCentos7:~/Src/Bit-Courses/GitDevelopment/remote-gitcode]$ git push origin v1.0
Total 0 (delta 0), reused 0 (delta 0)
remote: Powered by GITEE.COM [GNK-6.4]
To git@gitee.com:Yufch/remote-gitcode.git
* [new tag] v1.0 -> v1.0


已经被推送到远程了。

当然,也可以一次性推送所有的标签。

git push origin --tags # 推送本地所有标签到远程
(base) [yufc@ALiCentos7:~/Src/Bit-Courses/GitDevelopment/remote-gitcode]$ git push origin --tags
Counting objects: 1, done.
Writing objects: 100% (1/1), 162 bytes | 0 bytes/s, done.
Total 1 (delta 0), reused 0 (delta 0)
remote: Powered by GITEE.COM [GNK-6.4]
To git@gitee.com:Yufch/remote-gitcode.git
* [new tag] v0.8 -> v0.8
(base) [yufc@ALiCentos7:~/Src/Bit-Courses/GitDevelopment/remote-gitcode]$

删除标签

git tag -d v1.0 # 删除本地的v1.0标签

然后我说过,不能直接操作远程,但是我们可以在本地,通过push的方式删除远程的标签。

git push origin :v1.0

Git企业开发控制理论和实操-从入门到深入(五)|标签管理的更多相关文章

  1. [置顶] 【Git入门之十一】标签管理

    原创作品,转载请标明:http://blog.csdn.net/jackystudio/article/details/12309731 标签是啥?标签就是给某个版本的一个标记. 1.为当前版本创建标 ...

  2. 2-6 Flutter开发环境与Android开发环境设置实操(Windows)

    通常安装完AS后,sdk的目录 C:\Users\wjw\AppData\Local\Android\sdk 如果在这个目录下没有找到sdk的目录的话 Settings里面搜索sdk,找到Androi ...

  3. 第十章 Fisco Bcos 权限控制下的数据上链实操演练

    一.目的 前面已经完成fisco bcos 相关底层搭建.sdk使用.控制台.webase中间件平台等系列实战开发, 本次进行最后一个部分,体系化管理区块链底层,建立有序的底层控管制度,实现权限化管理 ...

  4. 【Spark】Day01-入门、模块组成、4种运行模式详解及配置、案例实操(spark分析过程)

    一.概述 1.概念 基于内存的大数据分析计算引擎 2.特点 快速.通用.可融合性 3.Spark内置模块[腾讯8000台spark集群] Spark运行在集群管理器(Cluster Manager)上 ...

  5. 【强烈推荐,超详细,实操零失误】node.js安装 + npm安装教程 + Vue开发环境搭建

    node.js安装 + npm安装教程 + Vue开发环境搭建 [强烈推荐,超详细,实操零失误] 原博客园地址:https://www.cnblogs.com/goldlong/p/8027997.h ...

  6. mPaaS 小程序架构解析 | 实操演示小程序如何实现多端开发

    对于 mPaaS 小程序开发框架,想必读者们并不陌生.它源自于支付宝小程序框架,继承了易开发性.跨平台性及 Native 性能,不仅帮助开发者实现面向自有 App 投放小程序,还可快速构建打包,覆盖支 ...

  7. SBT实操指南

    参考资料:1.英文官方文档2.中文官方文档,内容翻译的不全 SBT是类似maven和gradle的自动构建和包依赖管理工具,SBT是Scala技术体系下的包管理工具,都是Lightbend公司开发的, ...

  8. 【Social listening实操】作为一个合格的“增长黑客”,你还得重视外部数据的分析!

    本文转自知乎 作者:苏格兰折耳喵 ----------------------------------------------------- 在本文中,作者引出了"外部数据"这一概 ...

  9. SFUD+FAL+EasyFlash典型场景需求分析,并记一次实操记录

    SFUD+FAL+EasyFlash典型场景需求分析:用整个flash存储数据,上千条数据,读取得时候用easyflash很慢,估计要检索整个flash太慢了. 改进方法:分区检索. 1存数据时,根据 ...

  10. Iptables 实操

    目录 Iptables之实操 简介 名称概念: 四表中常用的表 Nat表 Filter表 iptables表和链的工作流程图 iptables过滤图 Iptables安装 Iptables 命令说明 ...

随机推荐

  1. POJ 3159 :Candies 【线性差分约束 链式前向星 栈优化SPFA】

    Candies POJ - 3159 题意: 给N个小朋友分糖, 给出M组约束a, b, c表示b的糖果不能比a多c个以上, 求1号和N号的最大糖果差异数 题解: 非常显然的线性查分约束问题 对于a, ...

  2. Codeforces 144A Arrival of the General (水)

    A Ministry for Defense sent a general to inspect the Super Secret Military Squad under the command o ...

  3. 如何在iOS手机上查看应用日志

    ​ 引言 在开发iOS应用过程中,查看应用日志是非常重要的一项工作.通过查看日志,我们可以了解应用程序运行时的状态和错误信息,帮助我们进行调试和排查问题.本文将介绍两种方法来查看iOS手机上的应用日志 ...

  4. S3C2440移植uboot之支持DM9000

      上一节S3C2440移植uboot之支持NANDFLASH操作移植了uboot 支持了NANDFLASH的操作,这一节修改uboot支持DM9000. 目录 通过Makefile把dm9000x编 ...

  5. ElementUI - <el-table> 表格 selection 设置的复选框禁止选中某些行

    https://blog.csdn.net/weixin_44198965/article/details/119026054

  6. node-sass安装失败,安装后无法使用 gyp verb check python checking for Python executable "python2" in the PATH

    这个问题搞了一会想起开始安装node-sass时的一句被我忽略的提示:执行 npm rebuild node-sass 这行后就可以了. 再说说 node-sass 的安装问题,现在使用 yarn i ...

  7. 解决Xshell/Xftp提示“要继续使用此程序必须应用到最新的更新或者新版本”(临时规避和彻底解决方案)

    一.xshell与xftp登录时提示,但是更新却又每次都失败,无法登录 二. 临时规避方案:手动修改日期为1年前,问题解决软件可以打开,但是每次启动都要手动修改,甚是麻烦  三.彻底解决方案,修改xs ...

  8. Kubernetes: client-go 源码剖析(二)

    kubernetes:client-go 系列文章: Kubernetes: client-go 源码剖析(一) Kubernetes: client-go 源码剖析(二) 2.3 运行 inform ...

  9. 43 干货系列从零用Rust编写负载均衡及代理,内网穿透方案完整部署

    wmproxy wmproxy已用Rust实现http/https代理, socks5代理, 反向代理, 静态文件服务器,四层TCP/UDP转发,七层负载均衡,内网穿透,后续将实现websocket代 ...

  10. 国庆学go,完成了博客基本功能,迫不及待的发布上线了

    大家好,我是沙漠尽头的狼. 国庆7天,利用带娃之余的空闲时间学习了go,并做了一个不是很完善的博客前台网站. 网站发布地址:https://go.dotnet9.com 源码 边做边上传Github, ...