我用轻量级标签标记了提交,并将该标签推送到远程仓库,与其他开发人员共享。我现在意识到我应该对它进行注释,以便它出现在git describe
.
有没有办法在不破坏东西的情况下转换它/重新标记提交?
轻量级标签只是指向该提交的“参考”。您可以在旧标签之上强制创建一个新的注释标签:
git tag -a -f <tagname> <tagname>
从 Git v1.8.2 开始,您需要使用--force
替换远程上的任何标签git push
,即使您将轻量级标签替换为有效的快进或指向与现有提交相同的真实标签对象的东西标签参考。
git push --force origin <tagname>
将所有标签转换为带注释的(基于 Charles Bailey 的示例和 Ferenc Wágner 的评论):
for tag in $(git tag -l); do git tag -a -f $tag $tag^0 -m $tag; done
git push --tags --force
您也可以简单地使用git describe --tags
在搜索中包含轻量级标签。