Skip to content

Instantly share code, notes, and snippets.

@KerryJones
Created January 7, 2016 21:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save KerryJones/7bf1e188e9f355158724 to your computer and use it in GitHub Desktop.
Save KerryJones/7bf1e188e9f355158724 to your computer and use it in GitHub Desktop.
Semantic Versioning for Git Scripts
[alias]
merge-release-major = !sh ../gitscripts/merge-release-major.sh
merge-release-minor = !sh ../gitscripts/merge-release-minor.sh
merge-release-patch = !sh ../gitscripts/merge-release-patch.sh
#!/bin/bash
inc()
{
shopt -s extglob
num=$(echo "$release_version" | sed 's/^\([0-9]*\)\.[0-9]*\.[0-9]*/\1/g')
let num++
echo "$num.0.0"
}
release_version=`git branch | grep -n -e 'release' | sed 's/^[^-]*-//g'`
new_version=$(inc)
git co master
git me release-$release_version
git tag -a $release_version -m "Release $release_version"
git co development
git me release-$release_version
git cob release-$new_version
git push origin master
git push origin --tags
git push origin development
git push --set-upstream origin release-$new_version
git push origin :release-$release_version
git branch -d release-$release_version
#!/bin/bash
inc()
{
shopt -s extglob
num=$(echo "$release_version" | sed 's/^[0-9]*\.\([0-9]*\)\.[0-9]*/\1/g')
let num++
echo $release_version | sed -r "s/^([0-9]*)\.[0-9]*\.[0-9]*$/\1.$num.0/"
}
release_version=`git branch | grep -n -e 'release' | sed 's/^[^-]*-//g'`
new_version=$(inc)
git co master
git me release-$release_version
git tag -a $release_version -m "Release $release_version"
git co development
git me release-$release_version
git cob release-$new_version
git push origin master
git push origin --tags
git push origin development
git push --set-upstream origin release-$new_version
git push origin :release-$release_version
git branch -d release-$release_version
#!/bin/bash
inc()
{
shopt -s extglob
num=$(echo "$release_version" | sed 's/^[0-9]*\.[0-9]*\.//g')
let num++
echo $release_version | sed -r s/[0-9]*$/$num/
}
release_version=`git branch | grep -n -e 'release' | sed 's/^[^-]*-//g'`
new_version=$(inc)
git co master
git me release-$release_version
git tag -a $release_version -m "Release $release_version"
git co development
git me release-$release_version
git cob release-$new_version
git push origin master
git push origin --tags
git push origin development
git push --set-upstream origin release-$new_version
git push origin :release-$release_version
git branch -d release-$release_version
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment