【问题标题】:Why should someone tag in Git?为什么有人要在 Git 中标记?
【发布时间】:2012-07-02 10:42:47
【问题描述】:

我遇到过很多发誓给 git 加标签的开发者。就个人而言,我从未见过它的用途。

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

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

【问题讨论】:

  • 标签本质上是一个设计为不会改变的分支。您使用它们的原因与使用分支的原因相同(具有历史中特定点的名称,而不仅仅是哈希),但是当您希望该名称更改位置时使用分支,而当您不希望更改位置时使用标签。
  • @Amber 很好的解释!

标签: git version-control


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

      在 Git 中,标签 让您可以为特定提交分配一个符号名称(易于记忆的名称)。这允许您通过 name 引用该提交,而不是通过原始 commit id

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

      【讨论】:

        【解决方案4】:

        注意你可以sign a tag,当你想push(即发布到另一个repo)时这很重要

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

        那么为什么要在 Git(一个分布式版本控制系统)中进行标记?

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

        但您也可以通过保证内容的完整性来签署您的标签,以便为另一个 repo 做出贡献。
        收件人只需要做的是check that tag signature,以确认它来自受信任的来源。

        【讨论】:

          猜你喜欢
          • 2016-07-06
          • 1970-01-01
          • 2021-08-10
          • 1970-01-01
          • 2013-04-21
          • 2011-10-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多