在 git 服务器上发布后,我的 pom 中添加了带有 <tag> 的新标签

A new tag with <tag> gets added in my pom after doing a release on git server

我有一个基于 maven 的 java 项目,我最近使用 mvn:release perform 命令在 Bitbucket git 服务器上发布了它并且它是成功的。然而,在发布完成后,我的 pom.xml 被标签中的代码片段 <tag>HEAD</tag> 自动修改,这让我有点惊讶,因为在我过去的项目中发布颠覆时,我从未见过这种情况发生曾经。

<scm>
    <connection>scm:git:https://nitalchandel@bitbucket.org/nitalchandel/jobmon.git</connection>
    <url>https://nitalchandel@bitbucket.org/nitalchandel/jobmon</url>
    <developerConnection>scm:git:https://nitalchandel@bitbucket.org/nitalchandel/jobmon.git</developerConnection>
    <tag>HEAD</tag>
</scm>

所以我的问题是:

  1. 这是maven或git或bitbucket的新特性吗?
  2. 这会不会是我的 NetBeans 编辑器造成的? (我正在从 Windows 命令提示符下发布)
  3. 这可能是因为我在下面提到的 maven-release-plugin 我的 pom 而发生的吗?
  4. 这是好事还是坏事?

pom.xml

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-release-plugin</artifactId>
    <version>2.5.3</version>
    <configuration>
        <tagNameFormat>${project.name}-v@{project.version}</tagNameFormat>
    </configuration>
 </plugin>  
  1. Is this a new feature of maven or git or bitbucket?

这是 maven-release-plugin 的一个功能,因为 version 2.3。当调用目标release:prepare时,<tag>元素用于存储存储标签的SCM的URL。比如对于SVN,当使用的SCM是 svn://project/trunk<tag> 元素将是 替换为 svn://project/tags/project-1.0。对于 Git,没有这样的信息(没有 URL 存储标签本身)所以 <tag> 元素被设置为 HEAD.

  1. Could this be happening because of my NetBeans editor? (I am doing releases from Windows command prompt)

绝对不是,这纯粹与maven-release-plugin有关。

  1. Could this be happening because of maven-release-plugin my pom which I have mentioned below?

不,<tagNameFormat> 告诉 maven-release-plugin 创建标签时要选择的名称。默认情况下,使用的名称是 ${project.artifactId}-${project.version},但您可以将其覆盖为您想要的名称。

  1. Is this a good or bad thing?

这是一个信息元素。目的是表明此 POM 是发布的结果。 AFAIK,它将始终由 maven-release-plugin 添加,没有理由删除它。