Недавно на GitHub появилась приятная новость об анонсе хранилища для больших файлов:
«Мы рады представить Git Large File Storage (LFS) как более практичный путь работы с большими бинарными файлами, такими как аудифайлы, графика, видео и т.п. в Git.
Git LFS — это новое расширение с открытым исходным кодом, которое заменяет большие файлы на текстовые ссылки в Git, в то время как содержимое файлов сохраняется на удаленных серверах как GitHub.com или GitHub Enterprise» — GitHub.com
О проекте
Проект Git LFS представляет собой набор фильтров и хуков которые обеспечивают работу с большими файлами вместо хранения в Git напрямую. LFS отслеживает Git-операции с большими файлами через фильтры clean и smudge, в результате файлы отправляются не на удаленный гит-репозиторий, а автоматически сохраняются на стороннем сервере с помощью LFS API, так же автоматически происходит загрузка файлов при загрузке ветки из удаленного git-репозитория.
Подробнее прочитать о том, что из себя представляют фильтры clean и smudge можно в официальном руководстве по Git
Как это работает
- Нужно скачать и установить расширение для Git отсюда.
- Выбрать тип файлов для хранения в LFS (или напрямую отредактировать .gitattributes):
git lfs track "*.psd"
- Далее можно работать как и обычно в Git: сначала add, потом commit и push. Примерно так:
git add file.psd git commit -m "Add design file" git push origin master
Заключение
В общем, это самое прекрасное, то что работа с LFS не отличается от работы с обычными текстовыми файлами в репозитории.
Полная поддержка LFS в каждом репозитории на GitHub, если верить анонсу, появится в течение нескольих месяцев.
Однако доступ можно получить уже сейчас через форму получения раннего доступа: Want to version large files with GitHub?
Сайт проекта: Git LFS
Автор: deniskreshikhin