git tag的查看、添加、推送和删除

标签的作用


就像我们读书时遇到重要的内容要加个书签,以便随时查看该内容一样,给代码仓库打个标签,也可以随时切换到该标签对应的提交,从而获取该标签所对应的副本。

标签比较多用于发布程序时,或者做了重大修改可能导致兼容性问题时,这里标签可以起到很好的作用。

查看标签


输入以下命令查看所有标签。

git tag

% git tag
v0.1
v1.0

该命令以字母顺序列出标签。如果仓库中标签很多,可以查看指定类型的标签:

% git tag -l 'v1.*'
v1.0

与查看分支一样,查看远端标签:

git branch -a

也可以查看标签对应的详细信息,这与创建的标签类型对应,下文介绍。

创建标签


标签分为两种:轻量标签和附注标签。

轻量标签是一个特定提交的引用,与一个不会改变的分支类似。

附注标签是存储在Git中的一个完整对象,是可以被校验的。可以查询到打标签者的名字、邮件地址、日期、标签信息等。

如果只是创建一个临时的标签,可以使用轻量标签,一般建议使用附注标签。

附注标签

如下命令创建附注标签:

git tag -a v1.0 -m '第一个稳定可用版本'

其中,-m 指定了将会保存在标签中的信息,如果没有在创建标签时指定,git会运行编辑器要求用户输入信息。

查看标签信息与对应的提交信息:

% git show v1.0
轻量标签

轻量标签本质上是将提交校验和存储到一个文件中,不会保存任何其他信息。

创建轻量标签极其简单,直接输入 git tag v0.2 即可,不需要任何参数后缀。

对轻量标签使用 git show 也只能查看到提交信息,没有额外信息。

后期加标签

可以在所有提交历史的某一次添加标签。

命令与前面类似,只需在最后加上某次提交的hash值,如:

$ git tag -a v1.2 863290234

推送标签到master及使用


本地创建的标签如果不推送,别人是看不到的,只能在本地使用。

默认情况下,git push 命令不会传送标签到远程仓库。必须显式地推送标签到服务器上,命令为:

git push origin [tagname]

如,git push origin v1.0

使用 --tags 参数可以一次推送多个标签。

其他人可以使用该tag,如果想要本地目录与仓库中指定的标签版本完全一样,执行如下命令:

git checkout -b mytest v1.0

就可以在v1.0的标签上创建一个新分支。使用该分支编译即可。

删除标签


与删除本地分支类似,本地删除标签时,使用-d 参数即可:

git tag -d v1.0

本地删除后,再删除远端tag(推送一个空的tag到远端tag,用空值覆盖原值):

git push origin :refs/tags/v1.0

也可以使用 --delete 参数:

git push origin --delete tag v1.0

注:对于默认分支,可能会由于权限问题删除失败。

你可能感兴趣的:(工具使用,git,tag,标签,删除,添加,推送)