如何让Maven版本与git一起使用?

时间:2011-03-25 22:18:55

标签: git maven maven-release-plugin

试图释放,我总是得到这个:

[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Unable to commit files
Provider message:
The git-commit command failed.
Command output:

“命令输出”没有任何内容。

是否有一些秘密配置技巧让maven与git玩得很好?

3 个答案:

答案 0 :(得分:21)

我看到git-commit命令输出为空的唯一情况是issue 556,其中提出了以下解决方案:

  

我和你有完全相同的问题;和

     
      
  • 删除release.properties
  •   
  • 将我的pom版本放回SNAPSHOT(之前已被插件更改)版本
  •   
     解决了这个问题;该过程成功结束。

答案 1 :(得分:9)

就像在另一个答案中说的那样,通过

来完成恢复
mvn release:clean

但由于这并不总是有效,因此解决方案是删除release.properties并运行

mvn versions:set -DnewVersion={version with snapshot}

(如果您将git repostiory重置为运行发布插件之前的状态,则无需执行此操作。)

您可能还必须使用

删除发布插件提交的提交
git reset --hard HEAD~1

通常会进行两次提交,要么同时删除上述命令两次,要么使用~1更改~2

要将git内容与maven内容分离(以便mvn构建不会因git错误而中断,您可以将其添加到pom.xml

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-release-plugin</artifactId>
    <configuration>
        <pushChanges>false</pushChanges>
    </configuration>
</plugin>

将push-changes设置为false可让您自己控制git push。 (请记住,您还必须推送代码git push --tags

答案 2 :(得分:0)

如果我从mvn-3.0.4升级到mvn 3.2.5

,那么完全相同的问题并且这两个解决方案都不起作用