工程效率与工具 · 教程

git 基础 - 标签 和 别名

标签

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

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

先看一下 git tag 命令吧。

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)签名并验证。 通常会建议创建附注标签,这样你可以拥有以上所有信息。但是如果你只是想用一个临时的标签, 或者因为某些原因不想要保存这些信息,那么也可以用轻量标签。

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

创建标签
创建附注标签
➜  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 会启动编辑器要求你输入信息

最后

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

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

配套资料 · 免费领取
本文属于「TOOLS」资料包范围:Git 与效率工具速查表。常用命令与工作流速查。
在公众号「方家小白」回复关键词 TOOLS 即可领取。全文无需关注即可阅读。
TOOLS