Last active
March 14, 2016 12:06
-
-
Save pavelpower/72ad30a5ae9ae606136f to your computer and use it in GitHub Desktop.
GIT Hook для прописи номера задачи в коммиты
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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 |
Ну и еще проблемка: без этого хука я могу, когда набираю commit message, выйти из вима, ничего не сохраняя, и коммит отменится, а с хуком добавляется номер, и коммит делается с номером задачи и пустым сообщением.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
При таком условии
в 5-ой строке проблема, ошибку выдает
Как получить такое у себя:
Делаешь
git rebase -i HEAD~2
Выбираешь для каких-нибудь коммитов
edit