#git #github #githooks
На гитхабе есть удобная штука: пишешь комментарий к коммиту, указываешь номер issue - и они связаны после пуша. Например: Добавлено логирование конвертаций. #50 Другое дело, что я иногда забываю проставить этот номер, хотелось бы какую то проверку прикрутить, скорее на стороне сервера, но можно и локально. Вопрос - есть ли готовые решения? Если нет - а как это можно сделать?
Ответы
Ответ 1
(погуглить использование гитхуков), но я отвечу о минусах подхода "правильный коммит-месседж на сервер-сайде" на стороне сервера - не надо. если ты заставишь кодеров добавлять обязательные сообщения к коммиту, рано или поздно кто-нибудь сделает 120 коммитов локально, потом окажется, что один из коммитов (допустим, первый), прокомментирован неправильно. закомитить нельзя. придется звонить/писать/ставить тикет тебе. тебе посоветуют сделать rebase. rebase не сработает, потому, что кто-то выше по дереву изменил структуру каталогов. это трата времени. если хочешь энфорсить комменты, делай это на клиенте, чтобы человек, которому нужно что-то запушить _важное_и_срочное_ (такое бывает в продакшене боевом), мог сделать git commit --no-verify P.S. серверный гитхук, который не запрещает пушить, но сам проставляет номер патча или другую инфу полезную - это вполне ок.Ответ 2
Visual Studio игнорит хуки, придётся коммитить вручную. В папку .git\hooks нужно добавить текстовый файл commit-msg Мне хватило вот такого простого (скопипастил отсюда): #!/usr/bin/env bash # regex to validate in commit msg commit_regex='(#[0-9]+|merge)' error_msg="Aborting commit. Your commit message is missing either a Issue ('#123') or 'Merge'" if ! grep -iqE "$commit_regex" "$1"; then echo "$error_msg" >&2 exit 1 fi На линуксах надо будет ещё разрешить выполнение: chmod +x commit-msg
Комментариев нет:
Отправить комментарий