📜  Git标签

📅  最后修改于: 2020-12-13 15:13:46             🧑  作者: Mango

Git标签

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

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

在上图中,分支的版本很多。所有这些版本都是存储库中的标记。

标签有两种。

  • 带注释的标签
  • 轻量标签

这两个标签都是相似的,但是在元数据存储量方面它们是不同的。

何时创建标签:

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

Git创建标签

要首先创建标签,请签出您要创建标签的分支。要签出分支,请运行以下命令:

$ git checkout 

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

您可以使用git tag命令创建标签。创建名称为v1.0,v1.1或其他任何名称的标签。要创建标签,请运行以下命令:

句法:

$ git tag 

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

$ git tag projectv1.0

上面的命令将在master分支上将标记点创建为projectv1.0。

Git列表标签

我们可以在存储库中列出可用的标签。可以使用三个选项列出存储库中的标签。它们如下:

  • git标签
  • git show
  • git标签-l“ 。*“

“ git标签”:

这是最常用的选项,用于列出存储库中的所有可用标签。它用作:

$ git tag

输出:

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

git标签显示

这是用于显示特定标签详细信息的特定命令。它用作:

句法:

$ git tag show 

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

$ git tag show projectv1.0

输出:

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

git标签-l“。*”:

它也是特定的命令行工具。它使用通配符模式显示可用标签。假设我们有十个标签,分别为v1.0,v1.1,v1.2到v1.10。然后,我们可以使用标记模式v列出所有v模式。它用作:

句法:

$ git tag -l ".*"

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

$ git tag -l "pro*"

输出:

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

Git标签的类型

git中有两种标签。它们是:

  • 带注释的标签
  • 轻量标签

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

带注释的标签

带注释的标签是存储额外元数据(如开发人员名称,电子邮件,日期等)的标签。它们作为对象包存储在Git数据库中。

如果您要指向并保存任何项目的最终版本,则建议创建一个带注释的标签。但是,如果您想做一个临时标记点或不想共享信息,则可以创建一个轻量级标记。带注释的标签中提供的数据对于项目的公开发布至关重要。有更多选项可用于注释,例如您可以添加消息以注释项目。

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

句法:

$ git tag  -m "< Tag message>

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

上面的命令将在我项目的存储库的master分支中创建带注释的标签projectv1.1。

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

轻型标签:

Git支持另一种类型的标签;它称为轻量标签。这两个标签的动机与在存储库中标记一个点相同。通常,它是存储在文件中的提交。它不会存储不必要的信息以保持重量轻。轻量级标记中没有提供命令行选项(例如-a,-s-m),而是传递标记名称。

句法:

$ git tag 

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

$ git tag projectv1.0

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

与带注释的标签相比,它将显示减少的输出。考虑以下输出:

Git Push标签

我们可以将标签推送到远程服务器项目。它将帮助其他团队成员知道在哪里选择更新。它将显示为远程服务器帐户上的发布点。 git push命令有助于使用一些特定的选项来推送标签。它们如下:

  • Git推送源<标记名>
  • Git push origin -tags / Git push –tags

git push的来源:

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

句法:

$ git push origin 

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

我已经在本地存储库中创建了一些标签,并且希望将其推送到我的GitHub帐户上。然后,我必须操作以上命令。考虑下图;这是我的远程存储库的当前状态。

上图显示释放点为0 releases 。现在,执行以上命令。考虑以下输出:

我已经将projectv1.0标记推送到了远程存储库。它将更改存储库的当前状态。考虑下图:

通过刷新存储库,它将发布点显示为1 release 。通过单击它可以看到此版本。它将显示为:

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

git push origin –tag / git push –tags:

给定的命令将立即推送所有可用标签。它将创建与存储库中可用标签数量一样多的发布点。它的用法如下:

句法:

$ git push origin --tags

要么

$ git push --tags

上面的命令会将所有可用标签从本地存储库推送到远程存储库。考虑以下输出:

输出:

标签已推送到远程服务器原点;因此,发布点也被更新。考虑以下存储库快照:

释放点根据标签在上述输出中更新。您可以看到该发行版已更新为2个发行版

Git删除标签

Git允许随时从存储库中删除标签。要删除标签,请运行以下命令:

句法:

$git tag --d 

要么

$ git tag --delete 

上面的命令将从本地存储库中删除特定标签。假设我要删除标签projectv1.0,则过程如下:

$ git tag --d projectv1.0

考虑下面的输出:

标记projectv1.0已从存储库中删除。

删除远程标签:

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

句法:

$ git push origin -d 

要么

$ git push origin --delete

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

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

删除多个标签:

我们可以从一个命令中删除多个标签。要同时删除多个标签,请运行以下命令:

句法:

$ git tag -d  

输出:

上面的命令将从本地存储库中删除这两个标签。

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

$ git push origin -d  

上面的命令将从服务器中删除这两个标签。

Git Checkout标签

在git中签出标签并没有实际的概念。但是,我们可以通过从标签创建新分支来做到这一点。要签出标签,请运行以下命令:

句法:

$ git checkout -b < new branch name> 

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

上面的命令将创建一个新的分支和库的状态转移到new_branchv1.1,因为它是标签projectv1.1。

从较早的提交创建标签:

如果您想返回历史记录并想在该点上创建标签。 Git允许您这样做。要从较早的提交中创建标签,请运行以下命令:

< git tag  < reference of commit>

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

假设我想为较早的提交创建标签,那么过程将如下所示:

检查较早的提交:

要检查较早的提交,请运行git status命令。它将运行如下:

$ git status

考虑以下输出:

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

在上面的输出中,存储库的早期版本被标记为oldversion