为什么git标记blob或树(或标记)?

时间:2016-03-20 10:41:10

标签: git git-tag

我理解如何使用git标记标记blob,树或甚至另一个带注释的标记。我理解使这成为可能的架构和概念设计。

但是,我很难想到这个(或者#34;真正的工作流程和#34;应用程序)的实际应用程序。

在Stack Overflow上搜索我只找到一个答案,提到使用advice not to do so标记非提交对象。

可能的情况下,永远是否适合标记非提交对象?

2 个答案:

答案 0 :(得分:3)

在直接操作对象的长期运行的实用程序中临时标记树或blob可能是适当的。标记将确保git gc可以安全地并行运行。然后,实用程序会在标记完成时删除标记,当它创建提交时。

答案 1 :(得分:0)

  

是否有任何用例标记非提交对象?

你想通了。简而言之,您应避免 non-commit标记。

让我们举例来说,你已修复了一个代码(hotfix)及其更大的提交部分

<强>为什么吗
因为它是这样提交的,后来才发现你只需要一个文件 现在,您要标记此更改的文件(内容),而不标记所有其他内容。

示例2:
您正在查看代码,试图找出导致错误的文件,标记单个提交,您可以使用标记或git note,但标记您将使用的单个文件tag

还有其他一些例子。

  

Linux内核存储库还有一个非提交指向标记对象 - 创建的第一个标记指向导入源代码的初始树