GIT (HUSKY): код выхода при фиксации файла?
Есть ли способ проверить, что файл фиксируется и выйти с ошибкой?
У меня есть файл в git, который должен быть там, но никогда не должен изменяться, и я надеялся использовать хаски в качестве предварительной фиксации - поэтому, если кто-нибудь попытается изменить файл и зафиксировать его, он выдаст ошибку.
Если в будущем мне нужно изменить файл, то я могу просто отключить предварительную фиксацию.
файл - это конфигурация, которую мне нужно много редактировать при разработке, но изменения никогда не должны быть зафиксированы.
Я надеялся использовать хаски в качестве проверки, чтобы убедиться, что я не.
1 ответ
Я бы предпочел управлять файлом с драйвером фильтра содержимого, используя .gitattributes
декларация
Это означает, что вы не используете версию фактического файла конфигурации, а только файл шаблона и файл со всеми возможными значениями для каждой среды.
(изображение из " Настройка Git - атрибутов Git ", из " Книги Pro Git ")
Созданный фактический файл остается проигнорированным (.gitignore
): ваше фактическое рабочее дерево не становится "грязным".
smudge
сценарий:
- определить правильную среду (не ветвь, поскольку нужна только одна)
- выбирает правильный файл значений и генерирует правильный файл на основе шаблона
smudge
Сценарий применяется во времяgit checkout
,
Таким образом, вы модифицируете config.dev
Файл значений столько, сколько вы хотите при разработке: из этих значений будет создан файл конфигурации (не версионный).
Но в производственном процессе проверка этого же репо приведет к генерации файла конфигурации prod, используя config.prod
(версионный файл) значения.