本文概述
- Git创建标签
- Git列表标签
- Git标签的类型
- Git推送标签
- Git删除标签
- Git Checkout标签
标签很像分支, 一旦启动它们就不会改变。我们可以在一个分支或不同分支上具有任意数量的标签。下图演示了各个分支上的标签。
文章图片
在上图中, 分支的版本很多。所有这些版本都是存储库中的标记。
标签有两种。
- 带注释的标签
- 轻量标签
何时创建标签:
- 当你要为代码的稳定版本创建发布点时。
- 当你想创建一个历史点时, 可以参考将来的重用。
$ git checkout <
Branch name>
现在, 你位于所需的分支上, 例如master。考虑以下输出:
文章图片
你可以使用git tag命令创建标签。创建名称为v1.0, v1.1或其他任何名称的标签。要创建标签, 请运行以下命令:
句法:
$ git tag <
tag name>
上面的命令将标记项目的当前状态。考虑以下示例:
$ git tag projectv1.0
文章图片
上面的命令将在master分支上将标记点创建为projectv1.0。
Git列表标签 我们可以在存储库中列出可用的标签。可以使用三个选项列出存储库中的标签。它们如下:
- git天
- git show
- git标签-l“。*”
这是最常用的选项, 用于列出存储库中的所有可用标签。它用作:
$ git tag
输出:
文章图片
从上面的输出中可以看到, git tag命令正在列出存储库中的可用标签。
git标签显示< tagname> :
这是用于显示特定标签详细信息的特定命令。它用作:
句法:
$ git tag show <
tagname>
上面的命令将显示标签描述, 请考虑以下命令:
$ git tag show projectv1.0
输出:
文章图片
在上面的输出中, git show标记显示了标记projectv1.0的描述, 例如作者名称和日期。
git标签-l“。*”:
它也是特定的命令行工具。它使用通配符模式显示可用标签。假设我们有十个标签, 分别为v1.0, v1.1, v1.2到v1.10。然后, 我们可以使用标记模式v列出所有v模式。
句法:
$ git tag -l "<
pattern>
.*"
上面的命令将显示所有包含通配符的标签。考虑以下命令:
$ git tag -l "pro*"
输出:
文章图片
上面的命令显示以单词pro开头的标签列表。
Git标签的类型 git中有两种标签。它们是:
- 带注释的标签
- 轻量标签
带注释的标签
带注释的标签是存储额外元数据(如开发人员名称, 电子邮件, 日期等)的标签。它们作为一束对象存储在Git数据库中。
如果你要指向并保存任何项目的最终版本, 则建议创建带注释的标签。但是, 如果你想做一个临时标记点或不想共享信息, 则可以创建一个轻量级标记。带注释的标签中提供的数据对于项目的公开发布至关重要。有更多选项可用于注释, 例如你可以添加消息以注释项目。
要创建带注释的标签, 请运行以下命令:
句法:
$ git tag <
tag name>
-m "<
Tag message>
上面的命令将创建一个带有消息的标签。带注释的标签包含一些其他信息, 例如作者姓名和其他项目相关信息。考虑下图:
文章图片
上面的命令将在我的项目存储库的master分支中创建带注释的标签projectv1.1。
当我们显示带注释的标签时, 它将显示有关标签的更多信息。考虑以下输出:
文章图片
轻型标签:
Git支持另一种类型的标签;它称为轻量标签。这两个标签的动机与在存储库中标记一个点相同。通常, 它是存储在文件中的提交。它不会存储不必要的信息以保持轻巧。轻量级标记中未提供任何命令行选项(例如-a, -s或-m), 而是传递标记名称。
句法:
$ git tag <
tag name>
上面的命令将创建一个轻量级标签。考虑以下示例:
$ git tag projectv1.0
文章图片
给定的输出将创建一个名为projectv1.0的轻量级标签。
与带注释的标签相比, 它将显示减少的输出。考虑以下输出:
文章图片
Git推送标签 我们可以将标签推送到远程服务器项目。它将帮助其他团队成员知道在哪里选择更新。它将显示为远程服务器帐户上的发布点。 git push命令有助于使用一些特定的选项来推送标签。它们如下:
- Git推送源< 标记名>
- Git push origin -tags / Git push – tags
我们可以使用git push命令来推送任何特定的标签。它的用法如下:
句法:
$ git push origin <
tagname>
上面的命令将把指定的标签名作为发布点。考虑以下示例:
我已经在本地存储库中创建了一些标签, 并且希望将其推送到我的GitHub帐户上。然后, 我必须操作以上命令。考虑下图;这是我的远程存储库的当前状态。
文章图片
上图显示的释放点为0个释放。现在, 执行以上命令。考虑以下输出:
文章图片
我已经将projectv1.0标记推送到远程存储库。它将更改存储库的当前状态。考虑下图:
文章图片
通过刷新存储库, 它将发布点显示为1版本。通过单击它可以看到此版本。它将显示为:
文章图片
我们可以将其下载为zip和tar文件。
git push origin – tag / git push – tags:
给定的命令将立即推送所有可用标签。它将创建与存储库中可用标签数量一样多的发布点。它的用法如下:
句法:
$ git push origin --tags
要么
$ git push --tags
上面的命令会将所有可用标签从本地存储库推送到远程存储库。考虑以下输出:
输出:
文章图片
标签已推送到远程服务器原点;因此, 发布点也被更新。考虑以下存储库快照:
文章图片
释放点在上面的输出中根据标签进行了更新。你可以看到该版本已更新为2个版本。
Git删除标签 Git允许随时从存储库中删除标签。要删除标签, 请运行以下命令:
句法:
$git tag --d <
tagname>
要么
$ git tag --delete <
tagname>
上面的命令将从本地存储库中删除特定标签。假设我要删除标签projectv1.0, 则过程如下:
$ git tag --d projectv1.0
考虑下面的输出:
文章图片
标记projectv1.0已从存储库中删除。
删除远程标签:
我们还可以从远程服务器删除标签。要从远程服务器删除标签, 请运行以下命令:
句法:
$ git push origin -d <
tagname>
要么
$ git push origin --delete<
tag name>
上面的命令将从远程服务器中删除指定的标签。考虑以下输出:
文章图片
projectv1.0标记已从远程服务器源中删除。
删除多个标签:
我们可以从一个命令中删除多个标签。要同时删除多个标签, 请运行以下命令:
句法:
$ git tag -d <
tag1>
<
tag2>
输出:
上面的命令将从本地存储库中删除这两个标签。
我们还可以从远程服务器删除多个标签。要从服务器源中删除标签, 请运行以下命令:
$ git push origin -d <
tag1>
<
tag2>
上面的命令将从服务器中删除两个标签。
Git Checkout标签 在git中签出标签并没有实际的概念。但是, 我们可以通过从标记创建一个新分支来做到这一点。要签出标签, 请运行以下命令:
句法:
$ git checkout -b <
new branch name>
<
tag name>
上面的命令将创建一个新分支, 其状态与标记中的存储库相同。考虑以下输出:
文章图片
上面的命令将创建一个新分支, 并将存储库的状态转移到标记projectv1.1上的new_branchv1.1中。
从较早的提交创建标签:
如果你想返回历史记录并想在该点上创建标签。 Git允许你这样做。要从较早的提交中创建标签, 请运行以下命令:
<
git tag <
tagname>
<
reference of commit>
在上面的命令中, 不需要提供所有40位数字;你可以给一部分。
假设我想为较早的提交创建标签, 那么过程将如下所示:
检查较早的提交:
【Git标签tag】要检查较早的提交, 请运行git status命令。它将运行如下:
$ git status
考虑以下输出:
文章图片
上面的输出显示了较早的提交。假设我想为我的提交创建一个标签, 从828b9628开始。复制提交的特定引用。并将其作为参数传递给上述命令。考虑以下输出:
文章图片
在上面的输出中, 存储库的早期版本被标记为较旧版本。
推荐阅读
- Git术语
- Git status状态
- Git stash用法详解
- Git squash
- Git rm用法详解
- Git revert还原
- Git reset重置
- Git存储库
- Git remote用法详解