Maven发布:准备无法提交标记

时间:2012-06-03 23:21:50

标签: git maven-release-plugin

尝试在之前成功发布的maven项目上执行发布。

当我执行mvn release:prepare时,系统会提示我提供发布标记以及新的快照标记和项目构建。

但是当它试图推向遥控器时,我得到了

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.0:prepare (default-cli) on project NeuralAnalysis: Unable to tag SCM [ERROR] Provider message: [ERROR] The git-push command failed. [ERROR] Command output: [ERROR] To ssh://gitosis@10.41.129.2/NeuralAnalysis.git [ERROR] ! [rejected] NeuralAnalysis-1.5.6 -> NeuralAnalysis-1.5.6 (non-fast-forward) [ERROR] error: failed to push some refs to 'ssh://gitosis@10.41.129.2/NeuralAnalysis.git' [ERROR] To prevent you from losing history, non-fast-forward updates were rejected

事实上,尝试手动执行 git push ssh://gitosis@10.41.129.2/NeuralAnalysis.git NeuralAnalysis-1.5.6也会以相同的投诉退出。

执行git pull说'已经是最新'。 git branch表明我是'主人'。 git push origin给出了“一切都是最新的”。

使用Tower查看存储库显示'master','origin / master'和'NeuralAnalysis-1.5.6'在最后一次提交时都是相同的。工作目录包含release.properties和pom.xml.releaseBackup文件。

在我看来整个存储库的一切都很好。

1 个答案:

答案 0 :(得分:9)

原来它是一个具有相同名称的远程标记,正如VonC在评论中所建议的那样。这可能是由一些先前中止的版本造成的。

虽然我通过手动检查远程存储库上的refs / tags目录找到了远程标记,但 git ls-remote --tags也会显示它们,git push --verbose也会显示有关该问题的更多信息。< / p>

要解决此问题,请先使用git fetch --tags检索远程标记。

执行下一步的一种方法是通过更新pom.xml以获得更高的-SNAPSHOT版本(包括该快照的其他模块在同一项目中的任何引用)来绕过该版本标记,检查这些,并再次mvn release:clean; mvn release:prepare