我在Android Studio中使用Github。
A:在图1中,“提交消息”区域中列出了诸如“提交1”,“提交2”之类的提交历史,这一点非常清楚。我不知道为什么我需要标签。标签可以做什么?
B:我发现Git-> Tag中显示了另一个Tag命令,您可以在图2A和图2B中看到它们,您能告诉我这两个Tag命令之间有什么区别吗?
图1
图2A
图2B
答案 0 :(得分:2)
您可以将标签视为注释或命名提交的一种方式。
想象一下,您有一个巨大的存储库,其中包含数千个提交。哪些特定的提交标记了版本1.2的开始,哪些哪些标记了版本1.3、1.4 .... 2.4的开始?如果将提交标记为“ 1.2版”,则可以轻松回答问题。
以下是文档的链接,其中对此进行了更详细的说明:https://git-scm.com/book/en/v2/Git-Basics-Tagging
最后,我认为这两种创建标签的方法之间没有任何区别。我没有android studio,因此无法100%确认。
答案 1 :(得分:2)
标签是Git的一个简单方面,它们使您可以识别代码的特定发行版本。您可以将标签视为不变的分支。一旦创建,它将失去更改提交历史记录的能力。
两种类型的Git标签
Git中的标签有两种:带注释的和轻量级的。这两种方法都允许您引用存储库中的特定提交,但是它们可以存储的元数据量不同。
带注释的标签
带注释的标签将额外的元数据(例如作者姓名,发行说明,标签消息和日期)存储为Git数据库中的完整对象。所有这些数据对于项目的公开发布都很重要。
标签也可以包含更具描述性的标签消息或注释,就像您要合并时的提交消息一样。通常,这是通过使用(-a表示注释)来实现的:
$ git tag -a v1.0.0
执行此命令,您将创建一个新的带注释的标签,该标签标识为v1.0.0版本。然后,该命令将打开您的提交编辑器,以便您可以填充元数据。
如果您想添加标记消息,则可以通过-m
选项,这是一种与git commit -m
类似的方法。
$ git tag -a v1.0.0 -m "Releasing version v1.0.0"
轻量级标签
轻量级标签是向git存储库添加标签的最简单方法,因为它们仅存储所引用提交的哈希值。它们是在没有-a,-s或-m选项的情况下创建的,并且不包含任何其他信息。
According to BitBucket:轻量级标记本质上是提交的“书签”,它们只是提交的名称和指针,对于创建指向相关提交的快速链接很有用。
要创建新的轻量级标签,请执行以下命令:
$ git tag v1.0.0