Git – Tag命令

Tag使一个点成为Git历史上的一个特定点。标签被用来标记一个相关的提交阶段。我们可以标记一个提交以备将来参考。主要是用来标记一个项目的初始点,如v1.1。

标签很像分支,一旦启动,它们就不会改变。我们可以在一个分支或不同的分支上拥有任意数量的标签。下图展示了不同分支上的标签。

Git Tags

在上图中,一个分支有很多版本。所有这些版本在版本库中都有标签。

有两种类型的标签。

  • 附加说明的标签
  • 轻量级的标签

这两个标签都是类似的,但它们在元数据存储量的情况下是不同的。

何时需要创建Tag:

  • 当你想为你的代码的稳定版本创建一个发布点时。
  • 当你想创建一个历史点,可以在未来参考重用。

Git 创建 tag

要创建一个标签,首先要签出到你想创建标签的分支。要签出该分支,请运行下面的命令。

$ git checkout <Branch name>

现在,你已经在你想要的分支上了,比如,master。请看下面的输出。

Git Tags

你可以通过使用git tag命令来创建一个标签。创建一个名称为v1.0v1.1的标签,或者其他任何你想要的名称。要创建一个标签,运行命令如下。

语法:

$ git tag <tag name>

上述命令将标记项目的当前状态。请看下面的例子。

$ git tag projectv1.0

Git Tags

上述命令将在主分支上创建一个标记点,作为projectv1.0。

Git List Tag

我们可以在我们的资源库中列出可用的标签。有三个选项可以用来列出版本库中的标签。它们如下。

  • git tag
  • git show
  • git tag -l ".*"

git tag

这是最常用的选项,用来列出版本库中所有可用的标签。它被用作。

$ git tag

输出:

Git Tags

从上面的输出中我们可以看到,git tag 命令正在列出版本库中的可用标签。

git tag show <tagname>

这是一个特定的命令,用于显示一个特定标签的细节。它被用作。

语法:

$ git tag show <tagname>

上面的命令将显示标签描述,考虑下面的命令。

$ git tag show projectv1.0

输出:

Git Tags

在上面的输出中,git show标签显示的是标签projectv1.0的描述,如作者姓名和日期。

git tag -l " .*"

它也是一个特定的命令行工具。它使用通配符模式显示可用的标签。假设我们有十个标签,分别是v1.0、v1.1、v1.2直至v1.10。那么,我们可以使用标签模式v来列出所有的v模式,它的用法是。

语法:

$ git tag -l ".*"

上述命令将显示所有包含通配符的标签。考虑一下下面的命令。

$ git tag -l "pro*"

输出:

Git Tags

上述命令显示的是以pro字开头的标签列表。

Git tags 类型

在git中,有两种类型的标签。它们是:。

  • 附加说明的标签
  • 轻量级的标签

让我们详细了解一下这两个标签。

附加说明的标签

注释标签是存储额外元数据的标签,如开发者姓名、电子邮件、日期等。它们被作为一个对象束存储在Git数据库中。

如果你要对任何项目的最终版本进行标记和保存,那么建议创建一个带注释的标签。但如果你想做一个临时的标记点或不想分享信息,那么你可以创建一个轻量级的标签。在注释标签中提供的数据对于项目的公开发布至关重要。有更多的选项可以用来注释,比如你可以为项目的注释添加一个信息。

要创建一个带注释的标签,请运行以下命令。

语法:

$ git tag  -m "< Tag message>

上述命令将创建一个带有信息的标签。注释的标签包含一些额外的信息,如作者姓名和其他项目相关的信息。请看下面的图片。

Git Tags

上述命令将在我的项目仓库的主分支中创建一个带注释的标签projectv1.1。

当我们显示一个被注解的标签时,它将显示更多关于标签的信息。请看下面的输出。

Git Tags

轻量级的标签

Git 还支持另一种类型的标签;它被称为轻量级标签。这两种标签的动机都是在仓库中标记一个点。通常情况下,它是一个存储在文件中的提交。它不存储不必要的信息,以保持其轻量级。轻量级标签没有提供命令行选项,如 -a,-s 或 -m,只传递一个标签名称。

语法:

$ git tag <tag name>

上述命令将创建一个轻量级的标签。请看下面的例子。

$ git tag projectv1.0

Git Tags

给出的输出将创建一个名为projectv1.0的轻量级标签。

它将显示一个比注解标签更小的输出。考虑一下下面的输出。

Git Tags

Git Push Tag

我们可以把标签推送到一个远程服务器项目。这将有助于其他团队成员知道在哪里挑选更新。它将显示为远程服务器账户上的发布点。git推送命令为推送标签提供了一些特定的选项。它们如下。

  • Git push origin <tagname>
  • Git push origin -tags/ Git push -tags

The git push origin

我们可以通过使用git push命令推送任何特定标签。它的使用方法如下。

语法:

$ git push origin <tagname>

上述命令将推送指定的标签名称作为释放点。请看下面的例子。

我在本地仓库中创建了一些标签,我想把它推送到我的GitHub账户。那么,我就必须操作上述命令。请看下面的图片;它是我的远程仓库的当前状态。

Git Tags

上面的图片显示释放点为0个释放点。现在,执行上述命令。考虑一下下面的输出。

Git Tags

我已经把我的projectv1.0标签推送到远程版本库。它将改变版本库的当前状态。请看下面的图片。

Git Tags

通过刷新版本库,它显示的发布点是1个版本。我们可以通过点击它来查看这个版本。它将显示为。

Git Tags

我们可以把它下载成zip和tar文件。

The git push origin –tag/ git push –tags:

给定的命令将一次性推送所有可用的标签。它将创建与版本库中可用标签数量一样多的发布点。它的使用方法如下。

语法:

$ git push origin --tags

$ git push --tags

上述命令将从本地仓库推送所有可用的标签到远程仓库。请看下面的输出。

输出:

Git Tags

标签已被推送到远程服务器源;因此,发布点也被更新。请看下面这个版本库的快照。

Git Tags

在上面的输出中,发布点根据标签被更新。你可以看到发布点更新为2个版本。

Git 删除Tag

Git 允许在任何时候从仓库中删除一个标签。要删除一个标签,运行下面的命令。

语法:

$git tag --d <tagname>

$ git tag --delete <tagname>

上述命令将从本地版本库中删除一个特定的标签。假设我想删除我的标签projectv1.0,那么过程将是这样的。

$ git tag --d projectv1.0

请考虑以下输出。

Git Tags

标签projectv1.0已经从版本库中删除。

删除远程Tag

我们也可以从远程服务器上删除一个标签。要从远程服务器上删除一个标签,请运行以下命令。

语法:

$ git push origin -d <tagname>

$ git push origin --delete<tag name>

上述命令将从远程服务器上删除指定的标签。请看下面的输出。

Git Tags

projectv1.0标签已从远程服务器原点删除。

删除多个Tags

我们可以通过一条命令删除一个以上的标签。要同时删除一个以上的标签,请运行以下命令。

语法:

$ git tag -d <tag1> <tag2>

输出:

上述命令将从本地仓库中删除两个标签。

我们还可以从远程服务器上删除多个标签。要从服务器原点删除标签,请运行以下命令。

$ git push origin -d <tag1> <tag2>

上述命令将从服务器上删除两个标签。

Git Checkout Tags

在git中并没有签出标签的实际概念。不过,我们可以通过从一个标签创建一个新的分支来实现。要检出一个标签,运行下面的命令。

语法:

$ git checkout -b < new branch name> <tag name>

上述命令将创建一个新的分支,其状态与标签中的版本库相同。考虑一下下面的输出。

Git Tags

上述命令将创建一个新的分支,并将版本库的状态转移到 new_branchv1.1,因为它在 tag projectv1.1 上。

从一个较早的提交创建一个标签。

如果你想回到你的历史,想在那个点上创建一个标签。Git允许你这样做。要从一个较早的提交创建一个标签,运行下面的命令。

< git tag <tagname> < reference of commit>

在上述命令中,不需要给出全部的40位数字,你可以给出其中的一部分。

假设我想为我的老提交创建一个标签,那么过程将如下。

检查较早的提交。

要检查较早的提交,运行git status命令。它的操作方式如下。

$ git status

考虑下面的输出。

Git Tags

上面的输出显示的是较早的提交。假设我想为我的提交创建一个标签,以828b9628开始。复制该提交的特定引用。并将其作为参数传入上述命令。考虑一下下面的输出。

Git Tags

在上面的输出中,版本库的早期版本被标记为olderversion。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程