DevOps

Git LFS в Qt-проекте: хранение крупных тестовых ресурсов

Когда Git LFS полезен

Большие бинарные файлы — тестовые видео, наборы изображений или модели — быстро увеличивают размер Git-репозитория. Git LFS хранит в Git небольшие текстовые указатели, а содержимое файлов — в отдельном LFS-хранилище. Это помогает держать историю исходников компактнее, если команда и CI-сервер настроены на LFS.

git lfs install
git lfs track "tests/data/*.mp4"
git lfs track "tests/data/*.png"
git add .gitattributes tests/data/
git commit -m "Add large test fixtures with Git LFS"

Правила сохраняются в .gitattributes; добавьте этот файл в репозиторий, чтобы участники использовали одинаковую фильтрацию. Для уже закоммиченных больших файлов добавление правила не переписывает историю: потребуется отдельная миграция, которую нужно согласовать со всеми участниками.

Проверьте CI и хранилище

CI-окружение должно скачать LFS-объекты, а не только указатели. Убедитесь, что checkout настроен на LFS и нужные файлы доступны до запуска тестов. У Git LFS могут действовать отдельные квоты хранения и трафика; оцените размер набора и оставьте только данные, нужные сборке. Небольшие текстовые fixtures часто проще хранить прямо в Git.