# Commit Message

Ниже я реализую скрипт, который проверяет валидность commit message. За стандарт взят обязательный коммит вида: `[Back-123] initial commit message`. 

```bash
#!/usr/bin/env bash

GREEN_color="\033[1;32m"
RED_color="\033[1;31m"
OFF_color="\033[0m"

INPUT_FILE=$1
START_LINE=`head -n1 $INPUT_FILE`

# Регулярка проверяет на соответсвие коммит сбщ
# [ABC-123] ...
# tech:
PATTERN="(^\[[\w]{1}[a-z]{3,4}\-[\d]+\] |^(tech:))"

if ! [[ "$START_LINE" =~ $PATTERN ]]
then
  echo -e "${RED_color}Bad commit message, see example: [ABC-123] commit message${OFF_color}"
  exit 1
else
  echo -e "${GREEN_color}Commit message entered${OFF_color}"
fi
```

Заменить скрипт в директории `.git/hooks/commit-msg.sample`, убрав `.sample`, вставит скрипт выше.

[Объяснение регулярки](/1%20Common/1.3%20Terminal/1.3.4%20Regex/1.3.4.1%20Regex.md)

---

[1.2.5.1 GitHook Theme](../1.2.4%20GitPractise.md) | [Back To iTWiki Contents](https://github.com/eldaroid/iTWiki) |  [1.3 Terminal Theme](/1%20Common/1.3%20Terminal/)
