title: How to prevent pushing SNAPSHOT version in maven-release-plugin?
body: <p>I have a maven project with lots of modules (and modules inside modules). I am using <strong>maven-release-plugin</strong> for controlling the versions in the <strong>pom.xml</strong> files. </p>
  
  <p>When running command <code>mvn release:prepare</code> plugin is pushing two commits with messages: <strong>"[maven-release-plugin] prepare release v0.9.0.38"</strong> and <strong>"[maven-release-plugin] prepare for next development iteration"</strong> accordingly. Herein the second one is just snapshot version. </p>
  
  <p>Here is the <strong>maven-release-plugin</strong> settings:</p>
  
  <pre><code>&lt;build&gt;
      &lt;plugins&gt;
          &lt;plugin&gt;
              &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
              &lt;artifactId&gt;maven-release-plugin&lt;/artifactId&gt;
              &lt;version&gt;2.5.3&lt;/version&gt;
  
              &lt;configuration&gt;
                  &lt;tagNameFormat&gt;v@{project.version}&lt;/tagNameFormat&gt;
                  &lt;autoVersionSubmodules&gt;true&lt;/autoVersionSubmodules&gt;
                  &lt;checkModificationExcludes&gt;
                      &lt;checkModificationExclude&gt;pom.xml&lt;/checkModificationExclude&gt;
                      &lt;checkModificationExclude&gt;*/pom.xml&lt;/checkModificationExclude&gt;
                  &lt;/checkModificationExcludes&gt;
                  &lt;branchBase&gt;master&lt;/branchBase&gt;
              &lt;/configuration&gt;
          &lt;/plugin&gt;
      &lt;/plugins&gt;
  &lt;/build&gt;
  </code></pre>
  
  <p>When pushing I am setting the tag to the remote git project as well (You can see it in <code>&lt;tagNameFormat&gt;v@{project.version}&lt;/tagNameFormat&gt;</code>) so I need to push commits definitely, but I don't want it to push snapshot versions (e.g. 0.9.0.38-SNAPSHOT).</p>
  
  <p><strong>Edit:</strong>  </p>
  
  <h2>The problem:</h2>
  
  <p>As I am incrementing minor version of the project on each commit by running<br>
  <code>mvn release:prepare</code>.<br>
  e.g. Commits looks like following:</p>
  
  <blockquote>
    <p>[maven-release-plugin] prepare for next development iteration<br>
    [maven-release-plugin] prepare release v0.9.0.38<br>
    (refactor) Code cleaned up<br>
    [maven-release-plugin] prepare for next development iteration<br>
    [maven-release-plugin] prepare release v0.9.0.37<br>
    (feature) Added I18N support  </p>
  </blockquote>
  
  <p>This looks very ugly, and pushing three commits on every change is very bad solution only for just incrementing minor version of the pom file not manually.</p>
  
  <h2>What do I need?</h2>
  
  <ul>
  <li>Before every commit increment project version (including all modules)</li>
  <li>And set the tag to the remote git repository.</li>
  <li>And it should be done by one commit with custom message</li>
  </ul>
  
  <p>How can I achieve this?</p>