GitHub выпустил Git LFS 2.6.0

GitHub опубликовал релиз системы хранения Git LFS 2.6.0 (Git Large File Storage), развиваемой GitHub и позволяющей использовать Git для отслеживания версий больших файлов, содержащих наборы данных, звук, видео и графику. Код распространяется под лицензией MIT.

В рамках проекта подготовлены специальное дополнение к Git, переработанный для эффективной передачи больших данных HTTP-клиент и реализация сервера. В штатном Git-репозитории большие файлы заменяются на текстовые ссылки, указывающие на контент в отдельном внешнем репозитории, что позволяет избежать повторного копирования файлов при клонировании и извлечении репозитория. При выполнении операций checkout большие файлы не загружаются вместе с остальными данными, а синхронизируются с сервера и хранятся в единственной копии.

Основные новшества:

  • Обеспечено использование раздельной аутентификации для запросов к API, применяемых для загрузки клиентом необходимых метаданных, и запросов к хранилищу, применяемых клиентом для загрузки или выгрузки данных во внешнее хранилище. Ранее Git LFS определял метод аутентификации для LFS API и в дальнейшем использовал аналогичный метод при взаимодействии с хранилищем, что создавало трудности, так как обычно API и хранилище размещаются на разных серверах.
  • Представлены новые опции для команды «git lfs checkout», упрощающие разбор конфликтов при слиянии, которые не удаётся разрешить автоматически. Опция «git lfs checkout --ours» позволяет при разрешении конфликта принять «нашу» сторону слияния, «git lfs checkout --theirs» — чужую сторону, а «git lfs checkout --base» использовать при слиянии основное состояние.

© OpenNet