A scheme I settled on a previous job that I really liked for internal apps was:<p><i>branch-buildno</i><p>Where branch is the git branch, and buildno came from our build machine (Jenkins in our case).<p>examples:<p>* <i>develop-5</i><p>* <i>master-10</i><p>I then used this ivy-based project: <a href="https:&#x2F;&#x2F;github.com&#x2F;sethcall&#x2F;depends" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;sethcall&#x2F;depends</a> to push those dependencies to our own internal artifact repository.<p>Because of this, I could say, &#x27;use the latest artifact on the develop branch&#x27;, or,  I could say &#x27;use exactly master-103&#x27;.  Those two alone were pretty powerful.<p>By the way, I asked Maven devs if this would numbering scheme would possible (at the time, I would have happily used Maven instead of Ivy because I had to build some tooling to use Ivy); they were strongly against the idea: <a href="http:&#x2F;&#x2F;maven.40175.n5.nabble.com&#x2F;Is-it-possible-to-tie-current-git-branch-to-project-version-td5543110.html" rel="nofollow">http:&#x2F;&#x2F;maven.40175.n5.nabble.com&#x2F;Is-it-possible-to-tie-curre...</a>