我遇到了很多开发人员,他们发誓要标记gits。就个人而言,我从未见过它的用途。
我知道您可以将版本信息放在标记中,但为什么不将这些信息放在提交消息中呢?
我只是对标记添加的提交消息不能提供的值感到困惑。
答案 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,以确认它来自可信来源。