Maven Release Plugin是否在Git中执行轻量级或带注释的标签?(另外,如果默认为轻量级标签,它是否支持带注释的标签?)
例如,我可以使用以下任一方式手动标记项目:
git tag v1.0.0
#weight
或者,或者
git tag -a v1.0.0
#annotated
这些是非常不同类型的标签。第一个是轻量级Git标记,第二个是带注释的Git标记。
(注意:我知道release:prepare
目标执行POM更改提交,实际上模拟带注释的标记,因为它将标记绑定到新的特定提交,但我的问题是注释标签是否是结果。)
后台: Mavenized Java项目中的Maven 3.3.9和Git 2.7.4。在Google或SO中都不容易找到这个答案。
更新: Maven Release Plugin的标签始终注释。不支持轻量级标签。请参阅下面的答案以及我的评论以证实它。
答案 0 :(得分:3)
虽然我没有找到关于这个问题的文档(也许它存在于那里),但我进行了试运行。使用简单的POM创建一个本地GIT存储库并执行maven发布:prepare。当我在生成的标签上运行git show $MYTAG
时,git输出包含" Tagger"数据表明它是一个带注释的标签。
https://git-scm.com/book/en/v2/Git-Basics-Tagging
https://maven.apache.org/maven-release/maven-release-plugin/prepare-mojo.html