前置知识: Git

标签管理

00:00
1 min Intermediate 2026/6/14

Git标签管理:轻量标签与附注标签的创建、操作与发布流程。

1. 标签概述

1.1 什么是标签

标签(Tag)是指向特定提交固定引用,用于标记重要的版本

1.2 两种标签

类型创建方式存储信息
轻量标签git tag v1.0文件存储提交哈希提交引用
附注标签git tag -a v1.0创建 tag 对象作者、日期、消息GPG 签名

2. 创建标签

2.1 轻量标签

# 在当前提交创建
git tag v1.0.0

# 在指定提交创建
git tag v0.9.0 abc1234

2.2 附注标签

# 创建附注标签
git tag -a v1.0.0 -m "Release version 1.0.0"

# 在指定提交创建
git tag -a v0.9.0 abc1234 -m "Release version 0.9.0"

2.3 语义化版本标签

v1.2.3
│ │ │
│ │ └── 修订号(Patch):Bug 修复
│ └──── 次版本号(Minor):向后兼容的新功能
└────── 主版本号(Major):不兼容的变更

3. 查看标签

3.1 列出标签

# 列出所有标签
git tag

# 按模式过滤
git tag -l "v1.*"
git tag -l "v2.0*"

# 查看标签详情
git show v1.0.0
git cat-file -p v1.0.0

3.2 查看标签指向的提交

git rev-parse v1.0.0
git log v1.0.0 -1

4. 推送标签

4.1 推送单个标签

git push origin v1.0.0

4.2 推送所有标签

git push origin --tags

4.3 只推送附注标签

git push origin --follow-tags

5. 删除标签

5.1 删除本地标签

git tag -d v1.0.0

5.2 删除远程标签

git push origin --delete v1.0.0
# 或
git push origin :refs/tags/v1.0.0

6. 签名标签

6.1 GPG 签名

# 创建签名标签
git tag -s v1.0.0 -m "Release v1.0.0"

# 验证签名
git tag -v v1.0.0

6.2 SSH 签名

# Git 2.34+ 支持 SSH 签名
git tag -s v1.0.0 -m "Release v1.0.0"

# 配置 SSH 签名
git config --global gpg.format ssh
git config --global user.signingkey ~/.ssh/id_ed25519.pub

7. 标签在 CI/CD 中的应用

# 基于标签触发部署
# .github/workflows/deploy.yml
# on:
#   push:
#     tags:
#       - 'v*'

# 创建发布标签
git tag -a v1.0.0 -m "Release v1.0.0"
git push origin v1.0.0
# → 触发自动部署

知识检测

学习进度

-- 已学文档
--% 知识覆盖率

学习推荐

专注模式