git:使用标签

Posted it_xiangqiang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git:使用标签相关的知识,希望对你有一定的参考价值。


git:使用标签


Git 可以选择向提交添加其他元数据。这可用于记录例如用于执行软件版本的提交。

这是通过标签完成的。

Git 支持两种不同类型的标签,轻量级和带注释的标签。

轻量级标记是指向提交的命名指针,没有有关该标记的任何其他信息。带注释的标记包含其他元数据:

代码创建者的姓名和电子邮件

标记类似于提交消息的消息

标记的日期

带注释的标签也可以使用 GNU 隐私卫士 (GPG) 进行签名和验证。

您可以通过以下命令列出可用的标签:

git tag

# Shows all tags with the commits they point to
git show-ref --tags --abbrev

创建轻量级标签
要创建轻量级标记,请不要使用 或 选项。-m-a-s

Git 中的轻量级标记有时用于标识构建的输入。

# create lightweight tag
git tag 1.7.1

要查看提交标记指向的,您可以使用:

git show 1.7.1

您还可以使用以下命令(并为其定义别名):

git tag --list --format %(refname:short) %(objectname:short)

您可以通过 或 命令创建新的带注释的标记。要指定标记消息,请使用该参数。以下命令标记当前活动 HEAD 指向的提交。git tag -agit tag -m “message”-m

# create tag
git tag 1.6.1 -m Release 1.6.1

# show the tag
git show 1.6.1

您还可以为某个提交 ID 创建标签。

git tag 1.5.1 -m version 1.5 [commit id]

创建签名标签

您可以使用该选项创建已签名的标记。这些标签使用GNU隐私卫士(GPG)签名,也可以使用GPG进行验证。

切换标签

如果要使用与标记关联的代码,请使用:

git checkout <tag_name>

如果您签出标记,则您处于分离的头部模式,并且在再次签出分支后更难找到在此模式下创建的提交。

推送标签

默认情况下,该命令不会将标签传输到远程存储库。您必须使用以下命令显式推送标记。git push

# push a tag or
git push origin [tagname]

# to explicitly push a tag and not
git push origin tag <tagname>

# push all tags
git push --tags

删除标签

您可以使用该参数删除标签。这会从本地存储库中删除标记。默认情况下,Git 不会将标签删除推送到远程存储库,您必须显式触发该操作。-d

以下命令演示如何推送标签删除。

# delete tag locally
git tag -d 1.7.0

# delete tag in remote repository
# called origin
git push origin :refs/tags/1.7.0

按模式搜索标签

您可以使用命令中的参数在标记中搜索模式。-lgit tag

git tag -l <pattern>

使用标签发布软件

标记通常用于标记软件版本。在这种情况下,它们称为发布标记。

约定是发布标签基于 [主要] 进行标记。[次要]。[补丁] 命名方案。这些发布标记遵循软件版本的语义版本控制。

如果(仅)引入了向后兼容的错误修复,则修补程序版本将递增

如果引入了公共 API 用户的向后兼容功能,则次要版本将递增

如果在公共 API 中引入了不兼容的更改,则主要版本将递增

例如“1.0.0”或“v1.0.0”。

如果使用Maven或Gradle等软件构建工具,则已发布的版本也应遵循语义版本控制。

基于标签创建发布日志

Git允许您列出任何引用之间的提交;这包括标签。

这允许您创建发布日志,例如通过以下命令。

# show log between two tags
git log tag1..tag2

# show shortlog between two tags
git shortlog tag1..tag2


以上是关于git:使用标签的主要内容,如果未能解决你的问题,请参考以下文章

git:使用标签

从 Azure Pipelines 创建 git 标签的最佳方法是啥?

Git学习笔记

Git 标签使用详解

git 创建标签和删除标签

Git学习笔记