且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Maven发布插件与git,错误如果提交在进程中被推送

更新时间:2023-09-18 08:32:46

查看 pushChanges
$ b

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

...并稍后推送

We use git repository and maven release plugin. In the first build step, we pull all the changes to local repository, and in the next one we run mvn release:prepare release:perform. release:prepare updates workspace, updates version in pom files, creates tag in repository, runs all the tests, builds jars etc. If it's fine, it then pushes local repository changes to remote one (updated poms and tag created).

The problem is that when somebody pushes some changes meanwhile, push from maven fails. The error message is:

error: failed to push some refs to 'http://<my_repository>'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes before pushing again.  See the 'Note about
fast-forwards' section of 'git push --help' for details.

Did somebody have similar problem? How to solve it?

Have a look at pushChanges:

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

... and push later