Я пытаюсь применить политику сообщения git commit, чтобы мои репозитории были чистыми и аккуратными. Я видел официальные документы об ошибках на стороне сервера и клиента, а затем я столкнулся с husky.Как использовать хаски для проверки формата сообщения git commit?
До сих пор я мог работать с первым, но не мог настроить хаски, у меня еще есть чему поучиться. Основная идея заключается в том, чтобы иметь возможность работать на новой рабочей станции без необходимости вручную настраивать любые клики на стороне клиента.
Может кто-нибудь объяснить, как я могу настроить хрипло, чтобы проверить мои сообщения о совершении или даже привести пример?
Это мой совершить-сообщ крюк в project-root/githooks
папке:
#!/usr/bin/env ruby
message_file = ARGV[0]
message = File.read(message_file)
$regex = /([resolved|fixed]) #([0-9])* ([A-Z])\w+/
if !$regex.match(message)
puts "[POLICY] Your message is not formatted correctly!"
puts "Message format must be like:"
puts "resolved #123 Case title (for features)"
puts "fixed #123 Case title (for bugs)"
puts "First letter of 'Case title' must be capitalized!"
exit 1
end
Я пытался добавить сценарий к package.json:
"scripts": {
... : ...,
"commitmsg": "sh hooks/commit-msg",
... : ...
}
крючок не работает. Все сообщения проходят. Если положить в .git/hooks, он работает нормально.
Вот скриншот тестового проекта с package.json, коммит-сообщ крюк и ошибка он выдает.
Тот же крюк, вложенный .git/hooks папка, работает просто отлично.
Прежде всего, спасибо вам за помощь! Как упоминалось в редактировании, я попытался настроить файл package.json, но он вообще не работает. Я тоже пробовал проверку validate-commit-msg, и это тоже не работает ... До сих пор я мог запускать скрипт («postinstall»: «sh hooks/setup_hooks.sh»), чтобы переместить мои крючки в .git/папка с крючками. – remmargorp
@remmargorp, на какой ОС вы работаете? С какой версией npm? – VonC
Я на Ubuntu 16.04, а npm - версия 4.0.5 – remmargorp