get mvn release:rollback 删除 GIT 中的标签

get mvn release:rollback to delete tag in GIT

我有一个 Maven 项目存储在我们的 GIT 存储库中。当我使用 mvn release:preparemvn release:perform 发布这个项目时,有时它会在后面的步骤中失败,但无论如何都会为这个版本创建一个标签。 mvn release:rollback 不会删除此标签,如果我尝试再次准备发布,它会失败并显示此标签已存在错误:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.5.2:prepare (default-cli) on project lwl-module: Unable to tag SCM
[ERROR] Provider message:
[ERROR] The git-tag command failed.
[ERROR] Command output:
[ERROR] fatal: tag 'lwl-module-1.5.1' already exists
[ERROR] -> [Help 1]
[ERROR]

有没有办法让 mvn release:rollback 删除我们 GIT 存储库中的最后一个标签?

我正在使用这个发布插件:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-release-plugin</artifactId>
            <version>2.5.2</version>
        </plugin>

Maven 发布插件目前不支持此功能。

看这里:http://maven.apache.org/maven-release/maven-release-plugin/examples/rollback-release.html

The created branch/tag in SCM for the release is removed. Note: This is not yet implemented so you will need to manually remove the branch/tag from your SCM. For more info see MRELEASE-229.

工单 (https://issues.apache.org/jira/browse/MRELEASE-229) 自 2007 年开始开放。

根据导致 mvn release:perfom 失败的问题,您也可以不回滚版本,在修复问题 运行 mvn release:perform 后直接 运行 ]宁mvn release:prepare.

插件版本 3.0.0-M1 修复了这个问题。以前的版本不会删除标签。

我将此作为答案发布,以使其更加明显。我是从@jechterhoff 的评论中得到的。请给他投票。