Maven 发布插件和 Git 标记样式
Maven Release Plugin and Git Tagging Style
Maven Release Plugin 是否在 Git 中执行轻量级或带注释的标签?(另外,如果它默认为轻量级标签,它是否支持带注释的标签?)
例如,我可以使用以下任一方式手动标记项目:
git tag v1.0.0
#轻量级
或者,
git tag -a v1.0.0
# 注释
这些是非常不同类型的标签。第一个是轻量级 Git 标签,第二个是带注释的 Git 标签。
(注意: 我知道 release:prepare
目标执行带有 POM 更改的提交,这实际上 模拟了一个带注释的标签,因为它与标记到新的特定提交,但我的问题是带注释的标记是否是结果。)
背景: Mavenized Java 项目上的 Maven 3.3.9 和 Git 2.7.4。在 Google 或 SO 中不容易找到这个答案。
更新: Maven 发布插件的标签总是注释。不支持轻量级标签。请参阅下面的答案和我的评论以证实它。
虽然我没有找到关于这个问题的文档(也许它存在),但我做了一个试验 运行。使用简单的 POM 创建本地 GIT 存储库并执行 maven release: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
Maven Release Plugin 是否在 Git 中执行轻量级或带注释的标签?(另外,如果它默认为轻量级标签,它是否支持带注释的标签?)
例如,我可以使用以下任一方式手动标记项目:
git tag v1.0.0
#轻量级
或者,
git tag -a v1.0.0
# 注释
这些是非常不同类型的标签。第一个是轻量级 Git 标签,第二个是带注释的 Git 标签。
(注意: 我知道 release:prepare
目标执行带有 POM 更改的提交,这实际上 模拟了一个带注释的标签,因为它与标记到新的特定提交,但我的问题是带注释的标记是否是结果。)
背景: Mavenized Java 项目上的 Maven 3.3.9 和 Git 2.7.4。在 Google 或 SO 中不容易找到这个答案。
更新: Maven 发布插件的标签总是注释。不支持轻量级标签。请参阅下面的答案和我的评论以证实它。
虽然我没有找到关于这个问题的文档(也许它存在),但我做了一个试验 运行。使用简单的 POM 创建本地 GIT 存储库并执行 maven release: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