Судя по всему, ваша проблема усложняется характером вашего приложения.
Во-первых, делает ли ваше приложение различие между файлами, которые являются частью приложения, и файлами, которые являются просто данными? Если нет, если у вас нет веских причин не делать этого, изменение такого рода должно значительно упростить управление версиями вашей файловой системы - тогда было бы целесообразно, чтобы части приложения находились под контролем версий, а не части данных.
Во-вторых, мне всегда было трудно синхронизировать данные файловой системы с данными базы данных. Одним из решений (которое может быть более масштабным рефакторингом) является создание одного генерируемого из другого. Не могли бы вы как-нибудь сохранить в своей базе данные файловой системы, связанные с соответствующими данными, которые могли бы заполнить файловую систему из сценария? Если ваши файлы слишком большие, во многих случаях будет достаточно репрезентативных файлов для целей разработки и тестирования.
В качестве альтернативы, у вас может быть отдельный репозиторий для данных, который может сделать действительный снимок набора данных (как базы данных, так и файловой системы), которые могут храниться и управляться отдельно для кода вашего приложения (хотя этот подход принесет другие проблемы ...)
Если проблемы дизайна здесь неизменны, я не могу придумать лучшей идеи, чем ваши периоды замораживания.