I have been putting a lot of emphasis on generating change logs using conventional change log. Unfortunately the dev community has gone towards squashing and merging. As a result of this conventional changeling doesn't work of the tag is on a merge commit. This command will generate a tag on the last non merge commit to ensure our changelog works.
First of all we need to get the latest commit that is not a merge commit. This is the main key to this script.
git rev-list --max-parents=1 --max-count=1 HEAD
Now we can use the commit that the above command returns to generate our tag. The
git tag command can take a second parameter of a git reference, this will be the commit hash the tag will be created against.
git tag v1.0.0 `git rev-list --max-parents=1 --max-count=1 HEAD`
As with all little commands we can create a script we can put in our bin and run anywhere.
to do Add she'll script