# 标签

标签最主要的作用是,人们会使用这个功能来发布节点,作为一个里程碑等特殊意义的标识。

git 中标签使用 tag 来表示。对应着 git tag 这个命令。

先看一下 git tag 命令吧。

1
2
3
4
5
6
7
8
git tag [-a | -s | -u <keyid>] [-f] [-m <msg> | -F <file>]
<tagname> [<commit> | <object>]
git tag -d <tagname>...
git tag [-n[<num>]] -l [--contains <commit>] [--no-contains <commit>]
[--points-at <object>] [--column[=<options>] | --no-column]
[--create-reflog] [--sort=<key>] [--format=<format>]
[--[no-]merged [<commit>]] [<pattern>...]
git tag -v [--format=<format>] <tagname>...

老规矩,这里我们介绍几个常用的命令。

# 标签命令

git 支持两种标签, 轻量标签 和 附注标签。

轻量标签 是一个 不会改变的分支 ,它只是一个特定的提交引用。
而附注标签是存储在 Git 数据库中的一个完整对象, 它们是可以被校验的,其中包含打标签者的名字、电子邮件地址、日期时间, 此外还有一个标签信息,并且可以使用 GNU Privacy Guard (GPG)签名并验证。 通常会建议创建附注标签,这样你可以拥有以上所有信息。但是如果你只是想用一个临时的标签, 或者因为某些原因不想要保存这些信息,那么也可以用轻量标签。

这里我以功能为点,同时介绍两种标签的使用的方式。

# 创建标签
# 创建附注标签
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
➜  git_learn git:(master) git log --pretty=oneline
cbfebb28dde6707bf9dcc95175506a5c4cd4bfb4 (HEAD -> master) commit 3
76400568f6397322f7d57d13834fa5ff6fbed2d9 commit 2
5758ef102fd4924ffbcf4c0cfeddac503deb32a9 commit 1

## 添加标签
➜ git_learn git:(master) git tag -a v1.0 cbfebb28dde6707bf9dcc95175506a5c4cd4bfb4 -m "第一个tag"
## 查看标签的内容
➜ git_learn git:(master) git show v1.0
# 输出显示了打标签者的信息、打标签的日期时间、附注信息,然后显示具体的提交信息。 2
tag v1.0
Tagger: fangjiaxiaobai <fangjiaxiaobai@163.com>
Date: Fri Jul 31 08:51:24 2020 +0800

第一个tag

commit cbfebb28dde6707bf9dcc95175506a5c4cd4bfb4 (HEAD -> master, tag: v1.0)
Author: fangjiaxiaobai <fangjiaxiaobai@163.com>
Date: Fri Jul 31 08:45:24 2020 +0800

commit 3

diff --git a/test3.txt b/test3.txt
new file mode 100644
index 0000000..e69de29

-m 选项指定了一条将会存储在标签中的信息。 如果没有为附注标签指定一条信息,Git 会启动编辑器要求你输入信息

# 最后

期望与你一起遇见更好的自己

期望与你一起遇见更好的自己