Git标签和分支是否已版本化?

时间:2012-02-15 20:45:28

标签: git

Subversion代表存储库中的标签和分支,允许您操作和版本化它们。这对于长期存储库来说是一个有用的属性,因为您可能希望重用标记或分支名称。您可以删除分支并重新创建它,如果您想查看旧分支,那么您只需检出旧版本的存储库。使用Git,似乎一旦删除它,你剩下的就是哈希,并且没有记录曾经是一个标记或分支,其中有一些名称指向它。这是对的吗?

2 个答案:

答案 0 :(得分:3)

不,Git标签和分支没有版本化。两者都只是提交的指针。与在工作树文件(.hgtags)中跟踪标记的Hg相反,在Git中它们存储在admin(.git目录中)。

答案 1 :(得分:0)

简短的回答是标签和分支都没有版本化。但是,您应该阅读git标签手册页的“On Re-Tagging”部分。

如果您更改已公开的标记,则会导致问题,因为git不会从用户下更改标记。例如:

  1. Bob创建标记v1.0
  2. Alice从Bob
  3. 中提取标签
  4. Bob强制v1.0的标记为其他提交
  5. 下次爱丽丝从鲍勃手中接过来,她 获取修改过的标签!
  6. 如果Alice真的需要新标签,她必须:

    1. git tag -d v1.0
    2. 再次从Bob中取出标签