如何在另一个标签的相同引用上打上标签?例如,我想在某个版本“1.0.0.1”的标签上放置标签“Stable_Build”。
除了以下方式,还有更好、更快的方法吗?
git checkout 1.0.0.1
git tag -a Stable_Build
git tag new_tag old_tag
如果旧标签是带注释的,则存在问题,如torek所述评论。
这是由Robert Dailey在Git邮件列表上演示的。
这就是为什么Git 2.22(2019年第二季度)将警告您,并建议在创建指向另一个标签的注释或签名标签时可能会出错。
"查看提交 eea9c1e,提交 01dc801 (2019年4月4日) 作者为 Denton Liu (Denton-L
)。
由Jeff King (peff
), 和 Ævar Arnfjörð Bjarmason (avar
)帮助。
(由Junio C Hamano -- gitster
--于提交 a198562中合并,2019年5月8日)
Robert Dailey在邮件列表中报告了关于嵌套标签的困惑,这很可能是由于错误创建的。
Jeff King指出这不是一个非常常见的情况,创建标签到标签的链接可能是用户错误。
建议在创建此类标签时提供错误提示信息,以表明可能是错误操作。
那些确实想要经常创建指向另一个标签的标签的人可以通过通常的建议机制关闭它。
现在,当您对标签进行标记(嵌套标记)时,您将看到:
hint: You have created a nested tag. The object referred to by your new is
hint: already a tag. If you meant to tag the object that it points to, use:
hint: |
hint: git tag -f nested annotated-v4.0^{}
因此,如果您已经完成了:
git tag stable 1.0.0
git tag -f stable 1.0.0^{}
如果你想要用另一个带注释的标签来标记标签1.0.0
,那么可能会有一个"git tag --allow-nested-tag -f stable 1.0.0
"(但这个功能目前尚未实现)。
使用 git tag <new_tag> <old_tag>
命令(详见文档)。
$ git tag stable 1.0.0
$ git tag --list
1.0.0
stable
git tag new_tag old_tag^{commit}
。同样,如果要创建新的注释性标签,请考虑使用 git tag -a new_tag old_tag^{commit}
。^{commit}
后缀表示将旧标签解析为提交哈希 ID,这是 git checkout
自动执行的操作。 - torek
git tag new_tag old_tag
有问题” - 具体是什么问题?例如,如果一个新的未注释标签指向一个已注释标签而不是提交,为什么会引起问题? - ijoseph