GIT (HUSKY): код выхода при фиксации файла? - PullRequest
0 голосов
/ 11 января 2019

Есть ли способ проверить, фиксируется ли файл, и выйти с ошибкой?

У меня есть файл в git, который должен быть там, но никогда не должен изменяться, и я надеялся использовать хаски в качестве предварительной фиксации - поэтому, если кто-нибудь попытается изменить файл и зафиксировать его, он выдаст ошибку.

Если в будущем мне нужно изменить файл, я могу просто отключить предварительную фиксацию.

файл - это конфигурация, которую мне нужно много редактировать при разработке, но изменения никогда не должны быть зафиксированы.

Я надеялся использовать хаски в качестве проверки, чтобы убедиться, что я не.

1 Ответ

0 голосов
/ 11 января 2019

Я бы предпочел управлять файлом с драйвером фильтра содержимого , используя .gitattributes объявление .

Это означает, что вы не версия фактического файла конфигурации, но только файл template и файл со всеми возможными значениями для среды.

smudge (изображение из " Настройка Git - атрибуты Git ", из " Pro Git book ")

Сгенерированный фактический файл остается игнорируемым (.gitignore): ваше фактическое рабочее дерево не становится "грязным".

Сценарий smudge:

  • определить правильную среду (не ветвь, поскольку нужна только одна)
  • выбирает правильный файл значений, а создает правильный файл на основе шаблона, к которому применяется сценарий smudge во время git checkout.

Таким образом, вы изменяете файл значений config.dev столько раз, сколько хотите при разработке: файл конфигурации (не версионный) будет сгенерирован из этих значений.
Но в производственном процессе извлечение этого же репо приведет к генерации файла конфигурации prod с использованием значений config.prod (файл версии).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...