%%
# 纲要
> 主干纲要、Hint/线索/路标
# Q&A
#### 已明确
#### 待明确
> 当下仍存有的疑惑
**❓<font color="#c0504d"> 有什么问题?</font>**
# Buffer
## 闪念
> sudden idea
## 候选资料
> Read it later
%%
# 标签
Git 中的 Tag 用于**标记指定 commit**,本质上是**指向某个 commit 的引用**。
Git 支持**两种类型的标签:**
- **轻量标签**(lightweight tag)——**指向特定提交的引用,没有附加的元数据**(如创建者、日期或消息)
- **带注释的标签**(annotated tag)——**包含额外的信息,如作者、日期和注释消息**
# 标签管理——git tag
##### 查看标签
- `git tag [OPTIONS]`:查看**所有标签**
- `-l | --list <pattern>..`:**指定特定的匹配模式**,显示匹配的所有标签
- `git show <tagname>`:查看**指定标签的详细信息**(注释、关联的提交等)
##### 创建标签
- `git tag [OPTIONS] <tagname> [<commit> | <object>]`: **创建==轻量==标签**(未指定提交时,默认为 HEAD 创建)
- `-a`:**创建带注释的标签**
- `-m <msg>`:**指定标签消息**(与`-a` 搭配使用,**若未显式使用 `-a` 时默认启用 `-a`**)
- `[<commit> | <object>]`:**提交哈希值,分支,标签等引用**
##### 删除标签
- `git tag -d <tagname>`: 删除指定标签
##### 推送标签到远程仓库
- `git push <remote> <tagname>`:**推送指定标签到远程仓库**
- `git push <remote> --tag`:一次性**推送所有本地标签**
##### 删除远程仓库的标签
- `git push <remote> --delete <tagname>`: **删除远程仓库的指定标签**
### 使用示例
```shell
# 查看标签
git tag # 查看仓库中所有标签
git tag -l "v1.*" # 查看所有以"v1."开头的标签
git show v1.0 # 查看标签v1.0的详细信息
# 创建标签
git tag v1.0 # 为HEAD创建一个名为"v1.0"的标签
git tag v1.1 abc1234 #
# 删除标签
git tag -d v1.0 # 删除标签v1.0
```
<br>
# 参考资料
# Footnotes