Maven Release插件和Git标记样式

时间:2017-01-19 20:00:55

标签: git maven tagging release-management maven-release-plugin

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的标签始终注释。不支持轻量级标签。请参阅下面的答案以及我的评论以证实它。

1 个答案:

答案 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