为什么有人会在Git中标记?

时间:2012-07-01 23:56:39

标签: git version-control

我遇到了很多开发人员,他们发誓要标记gits。就个人而言,我从未见过它的用途。

我知道您可以将版本信息放在标记中,但为什么不将这些信息放在提交消息中呢?

我只是对标记添加的提交消息不能提供的值感到困惑。

4 个答案:

答案 0 :(得分:8)

标签允许您引用存储库中的特定提交。使用例如 version 标记,您可以轻松地在项目中获得与...对应的提交。 1.5版。这比记住特定提交的哈希值,或通过日志信息滚动/ greping以找出哪个提交代表版本1.5更好。

这可能有很多原因,但只考虑一个:您有两个客户端运行不同版本的软件,客户端A 版本1.5客户端B < / em>使用版本2.0。客户端A报告错误,您不能只升级其安装,而是需要解决版本1.5代码中的错误。标记版本1.5使您可以轻松返回到他们正在运行的代码并处理错误修复。

答案 1 :(得分:8)

在Git中,标记允许您为特定提交分配符号名称(易于记忆的名称)。这允许您通过 name 而不是raw commit id 来引用该提交。

当我反复回顾特定版本时,我有时会添加一个本地标记,例如在完成大量工作之前的一个点。我还使用带注释的标签来标记特定的发行版本号(可以轻松推送带注释的标签,并且可以包含除名称之外的其他描述)。

答案 2 :(得分:5)

提交消息通常用于提供有关提交原因的更多信息,而不仅仅是“它是版本X”。

使用标记,您可以返回标记版本,而无需滚动日志以查找正确的提交编号;你直接检查标记的版本。标签的名称空间越有限,这就是一个好处,而不是障碍。

答案 3 :(得分:2)

请注意,您可以sign a tag,这在您想要推送(即发布到其他回购广告)时非常重要

请参阅“Why do some open source projects do not accept pull requests, but emailing patch files only”。

那你为什么要用Git(分布式版本控制系统)进行标记?

您可以标记引用带有符号名称的树(如其他答案中所述)。

但您也可以签署您的代码,以便通过担保内容的完整性来为另一个代表作出贡献。
收件人只需要check that tag signature,以确认它来自可信来源。