【问题标题】:What is tagging an object which isn't a commit in Git?什么是在 Git 中标记不是提交的对象?
【发布时间】:2021-08-01 21:22:58
【问题描述】:

git tag 文档说你可以标记一个提交或一个对象:



新标签将引用的对象,通常是提交。默认为 HEAD。

实际上,您可以获取 blob 对象的哈希值并对其进行标记。但我不明白 - 它有什么用?你可以用这个标签做什么?

【问题讨论】:

  • 我认为这里存在一些误解,一旦您标记提交或 SHA,它就会创建一个标记对象。标签本质上是只读的“分支”,通常用作里程碑,因为它们通常比 SHA 更友好。例如,命名为 v1.0 等或您喜欢的任何名称,一旦工作成功就更容易记住,并且通常用于发布产品。
  • 您可以标记任何东西以命名事物并防止垃圾收集器删除未引用的对象。例如,我将 GPG 公钥(用于验证我的签名提交/标签)存储为 blob 和 tag the blob
  • @phd 酷,你应该给出这个答案。

标签: git


【解决方案1】:

您可以标记任何内容以命名事物而不是冗长的神秘 ID,并防止garbage collector to remove unreferenced objects

例如,我将我的 GPG 公钥(以验证我的签名提交/标签)存储为一个 blob 并标记该 blob(技术在 Git Book, chapter Git Internals - Git References 中进行了描述)。

【讨论】:

    猜你喜欢
    • 2016-05-15
    • 2015-05-20
    • 2016-06-12
    • 2014-04-13
    • 1970-01-01
    • 2015-05-07
    • 1970-01-01
    • 1970-01-01
    • 2016-04-23
    相关资源
    最近更新 更多