Git LFS

Тема дорожной карты · Изучи Git

Git LFS (Large File Storage) — это расширение системы управления версиями Git, которое позволяет эффективно управлять большими бинарными файлами, такими как изображения, видео, машинные обучаемые модели и дизайн-исходники. Вместо того чтобы загружать эти большие файлы непосредственно в репозиторий Git, где они могут значительно увеличить его размер и замедлить операции, Git LFS выносит их на отдельный сервер. Вместо самого файла в репозиторий попадает небольшой текстовый указатель, который содержит информацию о том, где найти оригинальный файл. Это позволяет значительно уменьшить размер репозитория и улучшить производительность, особенно при работе с большими проектами.

Как это работает

Git LFS использует файл .gitattributes для определения типов файлов, которые нужно вынести на LFS-сервер. Команда git lfs track "*.psd" добавляет шаблон к этому файлу, указывая Git LFS на типы файлов, которые следует выносить. Когда вы добавляете или изменяете файлы, Git LFS автоматически обрабатывает их, вынося на сервер и заменяя их в репозитории на указатели. При клонировании репозитория указатели автоматически заменяются на оригинальные файлы, если они доступны на LFS-сервере.

Когда применять

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

Типичные ошибки

Одной из распространенных ошибок при использовании Git LFS является забывание установить git-lfs у каждого участника команды. Без установленного git-lfs команды, такие как git pull или git push, могут не работать корректно. Другой распространенной ошибкой является недостаточное понимание того, как работает система тарифицирования LFS-сервера. Многие провайдеры тарифицируют трафик и хранилище LFS, поэтому важно учитывать эти затраты при работе с большими файлами.

Связанные понятия

Полезные ресурсы