У меня есть центральный репозиторий git, который я и несколько сотрудников регулярно отправляем и извлекаем. В прошлом я случайно зафиксировал большой двоичный двоичный объект, который требует перебазирования для полного удаления и является проблемой для всех, поэтому я хотел бы защитить от этого в будущем. Можно ли настроить ловушку в удаленном репозитории, которая будет проверять размер загружаемых файлов (добавляются ли они новые или обновляется существующий файл) и отклонять push-уведомления с файлами, размер которых превышает пороговый размер, скажем, 2 МБ?
Важно отметить, что я хочу, чтобы существующие файлы, уже превышающие 2 МБ, которые не были затронуты, были допустимы (поэтому push не следует отклонять, если файл 2 МБ уже находится в репозитории, только если push добавляет файл 2 МБ или увеличивает существующий файл до 2 МБ ). Кроме того, я хочу, чтобы ловушка выполнялась на удаленной стороне, поэтому мне не нужно беспокоиться о том, что клиентам не нужно настраивать ловушку.
Изменить: поскольку push может содержать несколько коммитов, и даже одна фиксация с большим файлом застревает в репо, я хочу защитить от толчков, которые содержат / любую фиксацию /, которая увеличивается или добавляет файл размером> = 2 МБ.