当前位置: 首页 > article >正文

git打标签的作用?

理解标签:

tag是给commit添加一个别名,来标识这次提交是一个里程碑的提交
标签类似于分支,但是他们是不可变的,本质上是commit的别名

标签和branch的区别:

分支(Branch):分支是指向某个特定提交的引用,通常用于开发新功能或修复bug。分支是动态的,可以随着新的提交而移动。

标签(Tag):标签是指向特定提交的静态引用,通常用于标记发布版本。一旦创建,标签会一直指向创建时的提交,即使分支移动了,标签也不会改变。

是不是说分支删除了,但是删除前打过标签,就可以根据标签来恢复分支?

是的,你的理解是正确的。在Git中,即使分支被删除了,只要在删除之前为该分支打过标签,你就可以通过标签来恢复到那个分支的特定提交点。

以下是恢复分支的步骤:

  1. 查看标签:首先,你需要确认标签的存在。你可以使用以下命令列出所有的标签:

    git tag
    
  2. 检出标签:找到对应的标签后,你可以使用以下命令检出到该标签对应的提交:

    git checkout -b <new-branch-name> <tagname>
    

    这个命令会创建一个新的分支(<new-branch-name>),并将其指向标签指定的提交。

  3. 恢复分支:现在,你已经成功恢复了分支到标签对应的提交点。

请注意,这种方法只能恢复到标签指向的特定提交,而不能恢复分支上的所有历史。如果你需要恢复分支上的所有历史,那么在删除分支之前,你应该确保有备份或者使用其他方式来保存这些历史记录。

分类:

tag分类,分为轻量标签和附注标签两种类型

命令操作:

查看标签命令:
git tag
git tag -l “v4.0*”
git show 标签名
常见标签:
git tag 标签名(当前提交版本)
git tag 标签名 提交版本(历史提交版本)
常见提交信息tag
git tag -a 标签名称 -m 附注信息
git tag -a 标签名称 提交版本号 -m 附注信息
删除标签:
git tag -d 标签名称
提交tag
//提交所有tags到远程服务器
git push origin --tags
git push orign

检出标签:

在某个标签的基础上新建一个分支,新建分支后继续其它的操作;
git checkout -b 分支名称 标签名称

应用

在版本发布的时间,打一个标签,然后可以删除分支,后续基于这个标签拉出hotfix分支来修复代码即可,可以标记发布版本,恢复分支,版本追踪,分支管理等作用。

实际的项目中这样会存在这样的问题,就是比如有一个故障需要何如到多个版本中,因为release分支被删除了,此时难道要多次拉hotfix分支吗,这个不现实,在我们的项目里面,release分支会保留比较久的时间,经常一个故障要cherry-pick多多个分支之中。


http://www.kler.cn/a/414427.html

相关文章:

  • 联想品牌的电脑 Bios 快捷键是什么?如何进入 Bios 设置?
  • AI自动化剪辑工具:可将长视频中精彩部分提取合成短视频
  • 技术文档的艺术:在信息与理解之间架起桥梁
  • dns 服务器简单介绍
  • DI依赖注入详解
  • Redis开发04:Redis的INFO信息解析
  • ELK(Elasticsearch + logstash + kibana + Filebeat + Kafka + Zookeeper)日志分析系统
  • 【05】Selenium+Python 两种文件上传方式(AutoIt)
  • 计算机网络八股整理(二)
  • http账号密码认证Http Basic Auth
  • Kafka日志索引详解以及生产常见问题分析与总结
  • 微信小程序下拉刷新与上拉触底的全面教程
  • 刷题分享11_28
  • MySQL乐观锁
  • SpringCloud之Config:从基础到高级应用
  • verilog实现开方运算/基于迭代法的平方根计算算法/FPGA实现开根号算法
  • for (int i = 0, j = 0; ;){ 修改j }每次循环j会被重新赋值为0吗 详解
  • 【Python入门】Python数据类型
  • 【JavaEE初阶 — 网络编程】TCP流套接字编程
  • C语言——海龟作图(对之前所有内容复习)
  • 【单片机毕业设计12-基于stm32c8t6的智能称重系统设计】
  • Qt中QML和C++混合编程
  • 华为光学博士面试经验
  • 【AI系统】从 CUDA 对 AI 芯片思考
  • 未来已来?AI技术革新改变我们的生活
  • vscode自动打印日志插件