Git 标签

Git 标签

标签作为Git历史中的特定点。标签用于标记提交阶段的相关性。我们可以为将来的参考标记一个提交。主要用于标记项目的初始点,如v1.1。

标签类似于分支,一旦创建它们就不会改变。我们可以在一个分支或不同的分支上使用任意数量的标签。下图演示了各个分支上的标签。

Git 标签

在上面的图片中,有许多分支的版本。所有这些版本都是存储库中的标签。

有两种类型的标签。

  • 注解标签
  • 轻量级标签

这两种标签都是相似的,但在存储的元数据量方面有所不同。

何时创建标签

  • 当您想要为代码的稳定版本创建发布点时。
  • 当您想要创建一个历史点,以便将来可以重复使用。

Git 创建标签

要先创建标签,请切换到您想要创建标签的分支。要检出分支,请运行以下命令:

$ git checkout <Branch name>

现在,您位于所需的分支上,例如,master。请参考以下输出:

Git 标签

你可以使用git tag命令创建一个标签。创建一个带有某个名称的标签,例如 v1.0, v1.1, 或任何你想要的其他名称。要创建一个标签,请按照以下命令运行:

语法:

$ git tag <tag name>

上述命令将标记项目的当前状态。考虑下面的示例:

$ git tag projectv1.0

Git 标签

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

Git列出标签

我们可以列出仓库中可用的标签。有三种选项可以列出仓库中的标签,它们如下:

  • git tag
  • git show
  • git tag -l “.*”

“git tag”:

这是最常用的选项,用于列出仓库中所有可用的标签。使用方法如下:

$ git tag

输出:

Git 标签

从上面的输出中,我们可以看到,git tag命令列出了存储库中可用的标签。

git tag show <tagname>

它是一个特定的命令,用于显示特定标签的详细信息。它的用法是:

语法:

$ git tag show <tagname>

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

$ git tag show projectv1.0

输出:

Git 标签

git tag -l ".*":

这也是一个特定的命令行工具。它使用通配符模式显示可用的标签。假设我们有十个标签,如v1.0、v1.1、v1.2直到v1.10。然后,我们可以使用标签模式v列出所有v模式的标签。它的用法如下:

语法:

$ git tag -l ".*"

以上命令将显示包含通配符字符的所有标签。考虑以下命令:

$ git tag -l "pro*"

输出:

Git 标签

上面的命令显示以 pro 开头的标签列表。

Git标签的类型

在git中有两种类型的标签:

  • 已注释标签
  • 轻量级标签

让我们详细了解这两种标签。

已注释标签

已注释标签是存储额外元数据(如开发人员姓名、电子邮件、日期等)的标签。它们被存储为Git数据库中的一组对象。

如果您要指向和保存项目的最终版本,则建议创建一个已注释标签。但如果您想创建一个临时的标记点或者不想分享信息,那么可以创建一个轻量级标签。提供的注释标签中的数据对于项目的公开发布是必不可少的。有更多可用的选项用于注释,比如您可以为项目的注释添加一条消息。

要创建一个已注释标签,请运行以下命令:

语法:

$ git tag  -m "< Tag message>

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

Git 标签

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

当我们显示一个带有注释的标签时,它会显示关于标签的更多信息。请考虑以下输出:

Git 标签

轻量级标签

Git还支持另一种类型的标签;它被称为轻量级标签。这两种标签的目的都是在代码仓库中标记一个节点。通常,它是在一个文件中存储的提交。为了保持轻量级,它不存储不必要的信息。在轻量级标签中不提供像-a、-s或-m这样的命令行选项,只需传入一个标签名。

语法:

$ git tag <tag name>

上面的命令将创建一个轻量级标签。考虑下面的示例:

$ git tag projectv1.0

Git 标签

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

它将显示比注释标签更少的输出。考虑以下输出:

Git 标签

Git Push Tag

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

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

git push origin

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

语法:

$ git push origin <tagname>

上述命令将指定的标签名称作为发布点推送。考虑以下示例:

我已经在我的本地代码库中创建了一些标签,并且我想将它们推送到我的GitHub账户上。然后,我需要执行上述命令。参考下面的图片,它是我的远程代码库当前的状态。

Git 标签

上面的图像显示了发布点如下: 0发布 。现在,执行上述命令。考虑下面的输出:

Git 标签

我已经将我的项目v1.0标签推送到远程存储库。 这将改变存储库的当前状态。 请参考下面的图像:

Git 标签

通过刷新存储库,它显示为发布点 1发布 。我们可以通过点击它来查看此发布版本。它将显示为:

Git 标签

我们可以将其下载为zip和tar文件。

git push origin –tag/ git push –tags

给定的命令将一次性推送所有可用的标签。它将根据存储库中可用的标签数量创建相应数量的发布点。它的用法如下:

语法:

$ git push origin --tags

或者

$ git push --tags

上述命令将从本地代码库推送所有可用的标签到远程代码库。请参考以下输出:

输出:

Git 标签

标签已经推送到远程服务器origin;因此,发布点也已更新。请参考以下存储库的快照:

Git 标签

根据标签更新了上述输出中的发布点。你可以看到发布点已更新为 2 releases

Git 删除标签

Git允许在任何时候从仓库中删除标签。要删除标签,请运行以下命令:

语法:

$git tag --d <tagname>

或者

$ git tag --delete <tagname>

以上命令将从本地存储库中删除特定的标签。假设我想要删除标签 projectv1.0 那么操作步骤如下:

$ git tag --d projectv1.0

考虑以下输出:

Git 标签

从存储库中删除了标签 projectv1.0。

删除远程标签

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

语法:

$ git push origin -d <tagname>

或者

$ git push origin --delete<tag name>

上述命令将从远程服务器中删除指定的标签。请参考以下输出:

Git 标签

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

删除多个标签

我们可以通过单个命令删除多个标签。要同时删除多个标签,请运行以下命令:

语法:

$ git tag -d <tag1> <tag2>

输出结果:

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

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

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

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

Git检出标签

Git实际上没有检出标签的概念。但是,我们可以通过从标签创建新分支来实现。要检出标签,请运行以下命令:

语法:

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

上述命令将创建一个新的分支,其状态与标签中的存储库相同。请参考以下输出:

Git 标签

上述命令将创建一个新分支,并将仓库的状态转移到 new_branchv1.1 ,就像在标记projectv1.1上一样。

从旧提交中创建标记:

如果你想回到历史记录并在那个点上创建一个标记,Git允许你这样做。要从旧提交创建标记,请运行以下命令:

< git tag <tagname> < reference of commit>

在上面的命令中,不需要给出所有的40位数字;可以只给出其中的一部分。

假设我想为我的较旧的提交创建一个标签,那么步骤如下:

检查较旧的提交:

要检查较旧的提交,运行git status命令。其操作如下:

$ git status

考虑以下输出:

Git 标签

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程