Можно ли написать хук предварительного получения на стороне сервера, чтобы предотвратить добавление больших или двоичных файлов в репозиторий через коммиты?
Локально я могу контролировать поведение git-lfs, добавляя типы файлов в файл .gitattribute через:
git lfs track "*.zip"
Это приведет к тому, что если будет добавлен новый zip-файл, он будет управляться git-lfs и не будет зафиксирован в хранилище объектов git.
git-p4 даже позволяет мне устанавливать пороговые значения размера файла, например:
largeFileCompressedThreshold = 1m
largeFileThreshold = 50m
С несколькими разработчиками и средами разработки может случиться так, что такой двоичный файл будет добавлен без настройки git-lfs, поэтому такой файл может быть отправлен в git напрямую. Мне нужен хук на стороне сервера, который отклоняет такую фиксацию и выдает значимое сообщение, чтобы разработчик мог легко определить проблему.
В идеале этот хук получения должен использовать существующие функции git для анализа, например. .gitattributes вместо того, чтобы вручную анализировать все файлы, которые фиксируются в скрипте.