2009-11-24 43 views
10

在他2005 email to the Linux Kernel mailing list,Linus Torvalds的是非常有力的,在Git标签应该是私有的和别人进行读取时无法自动列入:Git全局标签---显然不好,但为什么?

拉定期头不能必须更新标签。标签不与树有关的 ,他们不能必须那么,到底 因为这将使他们全球,而不是私人的,它会 从根本上使他们无法散发

和:

这是错,错,错认为获取偷别人的树 手段你应该取他的标签。

我不是一个暗黑客。我使用git的原因之一是能够从不同位置编辑我自己的代码。标签看起来像是描述不同版本以供将来参考的自然方式,例如,什么可行,什么不可行,存在什么怪癖。因此,对于我来说,让标签在提取过程中持续存在似乎很有帮助。有人能解释这种范例的危险吗?

为什么要让私有标签如此重要?什么是替代方案?每次我想标记特定版本的代码时,我是否应该简单地创建一个单独的分支?

+0

请注意,它只是默认值;标签不会被推入,因为默认的git push **匹配**。当获取git ** autofolows **标签时(即在获取它们指向的提交时提取它们)。你总是可以配置git来推送/获取所有标签。 – 2009-11-25 01:36:08

回答

6

关键词有“不包括自动包含”。您可以推拉标签,只需在推/拉命令中指定即可。试试git push --tags

(实际上,标签现在自动拉出来,但推动必须明确。)

+1

实际上,标签在默认情况下在读取时自动提供**,这意味着git会获取指向提取提交的标签。 – 2009-11-25 01:34:29

+1

标签不会在推送过程中自动包含,因为默认情况下git会推送**匹配**参考(根据定义,新标签不会出现在远端,因此不会匹配)。 – 2009-11-25 01:37:35

6

我不知道,但标签这些天实际提取,这已经很长一段时间的默认。

当您用今天的git术语来看待引用时,您所引用的部分中的措词似乎让我感到困惑,所以我敢说声称Linus的陈述已过时。