Я хотел бы, чтобы заставить всех разработчиков, совершающие к моему частных Github репо всегда добавить сообщение фиксации, что следует следующий синтаксис:Как установить этот precommit msg hook для Github?
[ticketid] description
- TicketID может быть неограниченное количество букв или цифр в окружении скобок []
- описание может быть неограниченным свободный текст
Пустые комментарии запрещены. Оба значения являются обязательными.
Действительно пример коммита:
[dk93jled] Изменен заголовок цвет на красный
Invalid Например коммита (текст описания отсутствует, TicketID не в скобках):
dk93jled
Также недействителен (TicketID отсутствует):
Изменен заголовок цвет красный
Также недействительные (нет скобок):
не dk93jled Изменен цвет заголовка до красного
Вопрос:
Как я могу реализовать требования выше? Я чувствую запах регулярных выражений, поэтому, пожалуйста, добавьте полное рабочее регулярное выражение к вашему ответу, потому что я действительно сосать, когда дело доходит до регулярных выражений :-(
Также мне нужны инструкции о том, как добавить это регулярное выражение в Github для работы .
Вам действительно нужно будет указать более подробный формат, потому что на основании вашей спецификации сообщение ** недействительное ** фиксация действительна и имеет: ticketId = 'Changed', description =' headline color to red'. (I.e.«Изменено» соответствует спецификации для идентификатора билета «неограниченное количество букв или цифр»). На самом деле, любой из двух слов фиксации-сообщение (даже если это всего лишь две буквы, разделенные пробелом) соответствует вашим требованиям. – Alderath
@ Алдерат О, хватайте. Вы правы, спасибо! Я исправил это в своем вопросе. – Timo
Я должен верить, что два вопроса (как добавить предварительно совершить крюк и как сочетать произвольную строку в скобках), были независимо друг от друга, _exhaustively_ ответили как на SO и в других местах. – Mathletics