Make sure you have .ssh folder created:
| # Bash best practices and style-guide | |
| Just simple methods to keep the code clean. | |
| Inspired by [progrium/bashstyle](https://github.com/progrium/bashstyle) and [Kfir Lavi post](http://www.kfirlavi.com/blog/2012/11/14/defensive-bash-programming/). | |
| ## Quick big rules | |
| * All code goes in a function | |
| * Always double quote variables |
| # The command finds the most recent tag that is reachable from a commit. | |
| # If the tag points to the commit, then only the tag is shown. | |
| # Otherwise, it suffixes the tag name with the number of additional commits on top of the tagged object | |
| # and the abbreviated object name of the most recent commit. | |
| git describe | |
| # With --abbrev set to 0, the command can be used to find the closest tagname without any suffix: | |
| git describe --abbrev=0 | |
| # other examples |
| #!/bin/bash | |
| FILE=$1 | |
| MESSAGE=$(cat $FILE) | |
| TICKET=$(git rev-parse --abbrev-ref HEAD | grep -Eo '^(\w+\/)?(\w+[-_])?[0-9]+' | grep -Eo '(\w+[-])?[0-9]+' | tr "[:lower:]" "[:upper:]") | |
| if [[ $TICKET == "" || "$MESSAGE" == "$TICKET"* ]];then | |
| exit 0; | |
| fi | |
| echo "$TICKET: $MESSAGE" > $FILE |