Git annotated 与 unannotated tag
Git annotated 与 unannotated tag
Git 中打 Tag 时即可以通过如下命令
git tag <tagname>
生成一个 unannotated tag
,
也可以 通过 -a
的命令:
git tag -a <tagname> -m '<message>'
生成一个 annotated tag
。
默认为当前所处提交打 Tag,当然,两者均可指定 Tag 指向的某次提交:
git tag <tagname> <commit>
# or
git tag -a <tagname> <commit> -m "stuck fixed"
两者区别在于后者为 Tag 提供了信息,可在 git show <tag-name>
时查看到。
unannotated tag
也叫 lightweight tag
,指在生成 tag 时仅提供 tag 名称,未包含诸如 -a
, -s
或 -m
参数。而一旦指定 -a
表明需要生成一个带注释的 tag,如果此时未指定 -m
则会弹出编辑界面以编写注释。甚至可以只指定 -m
参数,此时也会生成一个带注释的 tag。