Skip to content

Instantly share code, notes, and snippets.

@pavelpower
Last active March 14, 2016 12:06
Show Gist options
  • Save pavelpower/72ad30a5ae9ae606136f to your computer and use it in GitHub Desktop.
Save pavelpower/72ad30a5ae9ae606136f to your computer and use it in GitHub Desktop.
GIT Hook для прописи номера задачи в коммиты
#!/bin/bash
BRANCH_NAME=$(git branch | grep '*' | sed 's/* //')
if [ $BRANCH_NAME != '(no branch)' ]
then
# создаем временный файл
tempname="ticket-id-XXXX";
tempfile=`mktemp $tempname`;
# выделяем из имени бранча номер тикета. Бранч всегда называется по шаблону Номер_Краткое_Описание
# например 1364_restore_xterm_title или 1364-restore-xterm-title
ticket=`git branch|grep '* '| sed -E 's/(^.*[^0-9]+|^)([0-9]+)(\-|_).*/\2/'`;
# берем сообщение комита
message=`cat $1`;
# если это первый коммит в бранче то вначале описания к коммиту добавляем [#Номер]
if [[ $ticket =~ ^[0-9]+$ ]]; then
# сливаем во временный файл номер и текст коммита
echo "[#$ticket] $message" >> "$tempfile";
# переписываем файл коммита временныйм файлом
mv "$tempfile" "$1"
else
rm $tempfile
fi
fi
@philip-bl
Copy link

Ну и еще проблемка: без этого хука я могу, когда набираю commit message, выйти из вима, ничего не сохраняя, и коммит отменится, а с хуком добавляется номер, и коммит делается с номером задачи и пустым сообщением.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment