git:一个未注释的标签比一个注释不好的标签更糟?

你看到的每个git教程都对标签有一个明确的看法:一个应该总是使用带注释的标签,其中一个原因是它们被git describe

但是,在使用git describe --tags ,我看不出任何错误,它也将未注释的标记作为参考点。 还有什么别的标签被认为是不好的?

我在问,因为我刚刚完成将SVN项目转换为git。 我实际上正在考虑为标签提供注释,但是如果不是一个惊人的多余的“我们项目的标签发布1.5”消息(它已经被用作SVN评论),我应该怎么做?

注释标签对我来说似乎是一件好事(您可以将事情标记为不同的作者并可能给出简短的描述),但是如果您没有任何意义的东西可以说除了原始提交信息?

要么

在哪些情况下,未注释的标签不会皱起眉头?

编辑 :我不是在谈论签名注释标签(我了解在某些情况下签署标签的优势); 我只关心未注释和未注释的区别。

编辑2 :添加另一个问题来扩大范围,也许可以得到关于现实生活中最佳行为的一些有见地的答案

你什么时候使用unannotated标签,当你这样做的时候你会感觉不好?


注释标签实际上是一个标签对象。 它有一个作者,一个描述,一个时间戳和一个提交点。

轻量级标签指向提交并且不包含其他信息。 与标记相比,它与分支有更多共同之处。


man git-tag说:

带注释的标签用于发布,而轻量级标签则用于私人或临时对象标签。

所以基本上不推送轻量级标签。

当你考虑到这一点时,所有的行为设计选择都有意义:

  • 带注释的标签可以包含与它们指向的提交不同的消息,创建者和日期。 因此,您可以使用它们来描述发行版而不必进行发布提交。

    轻量级标签没有额外的信息,并且不需要它,因为您只是自己使用它来开发。

  • git push --follow-tags只会推送带注释的标签,以免发布您的本地标签。

  • git describe一个问题:“这个提交属于什么版本?”,这是一个常见的用例。

  • 也可以看看:

  • 带注释和不带注释的标签有什么区别?
  • 我应该在什么情况下将-a标志添加到git标签命令中?
  • 链接地址: http://www.djcxy.com/p/27143.html

    上一篇: git: Is an unannotated tag worse than a tag with a bad annotation?

    下一篇: git: push only specific tags