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

Git打tag标签

Git代码管理中用得比较多的是与分支相关的,一般一个迭代会拉一个新的分支或者功能提测时拉取一个提测分支。

打tag一般用在版本定版的时候,对于分支相关的操作已经熟悉了,此文整理下git打标签相关的操作,并用Github项目演示下过程,以供参考。

图片

1、如何打一个tag?

tag的作用是标记软件的版本,比如v1.0.0,v2.0这种,便于后续追溯、回滚或发布。

那么如何从一个分支去创建一个tag呢?

操作步骤:从 develop 分支定版并打 tag

假设我们当前在 develop 分支上完成开发,准备发布 v1.0.0 版本:

# 1. 切换到目标分支(预发布分支)
git checkout develop
# 2. 确保代码是最新的
git pull origin develop
# 3. 基于当前提交创建 tag
git tag v1.0.0
# 或者创建带注释的标签(推荐,信息更完整)
git tag -a v1.0.0 -m "v1.0.0"
# 4. 推送 tag 到远程 GitHub 仓库
git push origin v1.0.0

图片


2、如何从已有tag拉取分支?

一般情况下,版本没有bug的话是不需要此操作的。但如果版本定版后发现bug,并且目前已经没有对应的分支,就需要从之前打的tag来拉取分支。

当已发布的版本(如 v1.0.0)上线后发现紧急 Bug,但对应的开发分支已被删除或已有新功能合入,不适合热修复时,可以从该 tag 拉出一个修复分支(如 hotfix/v1.0.0

下面我们来看下具体怎么操作:

# 1. 获取远程所有 tag 信息(确保本地有最新标签)
git fetch --tags
# 2. 查看所有 tag,确认目标 tag 存在
git tag -l
# 3. 基于 tag 创建本地分支(注意:tag 是一个快照,不能直接提交,需先创建分支)
git checkout -b hotfix/v1.0.0 v1.0.0
# 4. (可选)推送到远程,供团队协作
git push origin hotfix/v1.0.0

git checkout -b <new-branch> <tag> 表示以 tag 指向的 commit 为起点创建新分支。

可以基于此分支修复 Bug,修复完成后:

合并回 develop 或 main,打新的 tag,如v1.0.1


3、分支与tag的关系?

相同点:
  • 都是指向某个 commit 的指针

  • 都可用于标识代码状态。

核心区别:

特性

分支(Branch)

标签(Tag)

用途

用于开发、功能隔离、协作

用于标记版本里程碑(如发布)

可变性

动态的,会随着新提交向前移动

静态的,指向固定 commit,一般不修改

更新机制

每次提交,分支指针自动前移

创建后通常不再变动

是否可提交

可以在分支上继续提交

不能直接在 tag 上提交(需先切分支)

形象比喻:
  • 分支:像是一条不断延伸的“开发流水线”。
  • tag:像是流水线上某个时刻的“快照”或“刻度标记”。

实际协作中的典型流程:

图片

注意事项:

  • Tag 一旦推送到远程,不要轻易删除或修改,否则会影响团队协作和发布一致性。

  • 如果需要修改已发布版本,应打新版本号(如 v1.0.1),而不是修改 v1.0.0

总结:

操作

命令示例

创建轻量标签

git tag v1.0.0

创建带注释标签

git tag -a v1.0.0 -m "Release"

推送单个 tag

git push origin v1.0.0

推送所有 tag

git push origin --tags

从 tag 创建分支

git checkout -b hotfix/v1.0.0 v1.0.0

删除本地 tag

git tag -d v1.0.0

删除远程 tag

git push origin --delete v1.0.0
http://www.dtcms.com/a/434435.html

相关文章:

  • leetcode 494 目标和
  • 网站设置成灰色全球最牛的搜索引擎
  • Apache POI操作Docx文档时踩坑指南
  • K230基础-显示画面
  • 一级a做爰片免费网站 新闻wordpress用户修改文章
  • 从零起步学习Redis || 第五章:利用Redis构造分布式全局唯一ID
  • C++基础语法核心技术详解
  • 临沂网站建设报价手机百度免费下载
  • 打工人日报#20251002
  • GMSL Layout Guide及其解读
  • ThinkPad X1 Carbon Gen13,X1 2in1 Gen10(21NX,21NY,21Q0,21Q1)原厂Win11Home系统
  • 设置VLC播放器的皮肤样式
  • 外贸网站搭建网站优化过度被k
  • 【工业实战】从架构到优化:企业级RAG客服对话系统的构建之道
  • CMake 入门实战手册:从理解原理开始,打造高效 C/C++ 开发流程
  • MySQL 5.7 主主复制 + Keepalived 高可用配置实例
  • 2014 年真题配套词汇单词笔记(考研真相)
  • 构建AI智能体:五十一、深思熟虑智能体:从BDI架构到认知推理的完整流程体系
  • 自由学习记录(104)
  • 【开题答辩全过程】以 ssm蛋糕销售网站的设计与实现为例,包含答辩的问题和答案
  • Photoshop - Photoshop 工具从工具栏消失
  • 专题网站建设策划dw一个完整网页的代码
  • 刷赞网站推广免费链接网站后台怎么添加栏目
  • LLM 笔记 —— 01 大型语言模型修炼史(Self-supervised Learning、Supervised Learning、RLHF)
  • 框架系统在自然语言处理深度语义分析中的作用、挑战与未来展望
  • LLM 笔记 —— 03 大语言模型安全性评定
  • d-分离:图模型中的条件独立性判定准则
  • 【自然语言处理】文本规范化知识点梳理与习题总结
  • 上海商城网站建设公司算命手机网站开发
  • 重塑Excel的智慧边界:ExcelAgentTemplate架构深度解析与LLM集成最佳实践