check_branch_name.sh 413 B

12345678910
  1. #!/usr/bin/env bash
  2. current=$(git status | head -n1 | sed 's/On branch //')
  3. name=${1:-$current}
  4. if [[ ! $name =~ ^(((opt(imize)?|feat(ure)?|(bug|hot)?fix|test|refact(or)?|ci)/.+)|(main|develop)|(release-v[0-9]+\.[0-9]+)|(release/v[0-9]+\.[0-9]+\.[0-9]+(-[a-z0-9.]+(\+[a-z0-9.]+)?)?)|revert-[a-z0-9]+)$ ]]; then
  5. echo "branch name '$name' is invalid"
  6. exit 1
  7. else
  8. echo "branch name '$name' is valid"
  9. fi