#git #github #git-commit #pre-commit-hook
Вопрос:
Я поставил галочку для сообщения о фиксации в крючке commit-msg, который я иногда хочу пропустить. Я знаю, что git commit --no-verify
для этой задачи есть, но это также пропускает крючок предварительной фиксации. Есть ли способ пропустить только крючок commit-msg, а не предварительную фиксацию?
Ответ №1:
Нет, но также и да:
- Git не предоставляет механизма для этого.
- Но Git не пишет крючки фиксации. Вы пишете крючки фиксации.
Итак, напишите свой крючок commit-msg, чтобы он проверял наличие какой-либо ручки управления: «если ручка управления установлена в одну сторону, проверьте сообщение о фиксации; если она установлена в другую сторону, просто примите сообщение о фиксации».
Теперь ваша задача-выбрать ручку управления и убедиться, что она установлена правильно в нужное время. Одной из очевидных возможностей является простая переменная окружения:
$ SKIP_MESSAGE_CHECK=yes git commit -m "silly message"
(предполагая оболочку в стиле sh/bash; используйте env SKIP_MESSAGE_CHECK=yes ...
при необходимости).