GitHub выпустила расширение Git LFS версии 2.5.0

Git LFS

Разработчики GitHub обновили расширение Git LFS. Оно заменяет большие файлы текстовыми ссылками, а их содержимое хранится на серверах GitHub Enterprise. В новой версии исправлены баги и добавлены новые функции к старым командам.

Новые возможности миграции

Команда git lfs migrate получила несколько новых функций.

  • Исправление невозможности сохранения в репозитории с использованием Git LFS. Если размер файла больше 100 МБ, он не перемещается на GitHub и история требует перезаписи командой git lfs migrate import. Если же файл меньше 100 МБ, команда git lfs migrate import --no-rewrite переместит файл с применением расширения, зафиксировав изменения в репозитории.
  • Исправление ошибки хранения файлов с расширением LFS. Например, требуется хранение изображений *.png с помощью LFS, а файл добавлен без его использования. git lfs migrate import --fixup помогает устранить ошибку. Флаг --fixup считывает условие в файле .gitattributes и автоматически конвертирует объекты для хранения с применением Git LFS. В примере, приведённом ниже, файл mona.png добавлен без Git LFS:
$ cat .gitattributes
*.png filter=lfs diff=lfs merge=lfs -text

$ git cat-file -p :mona.png | file -s
/dev/stdin: PNG image data, 896 x 896, 8-bit/color RGBA, non-interlaced

Исправить ситуацию можно следующим образом:

$ git lfs migrate import --fixup
migrate: Fetching remote refs: ..., done
migrate: Sorting commits: ..., done
migrate: Rewriting commits: 100% (2/2), done
  master        1002728154804338fe645976ad8b7258b0be0810 -> 076e2bfe114df5575b1130f694c18d1b26c86b86
migrate: Updating refs: ..., done
migrate: checkout: ..., done

$ git cat-file -p :mona.png
version https://git-lfs.github.com/spec/v1
oid sha256:49afbfc61b10df78377f8f7dac774158e1a0197740e160ea3572d9839c61ac04
size 106277

Теперь mona.png находится в репозитории с использованием хранилища LFS.

Для прекращения работы с расширением и экспортом больших объектов, достаточно прописать git lfs migrate export. Команда принимает те же аргументы, что и git lfs migrate import, перемещая файлы из расширения.

Другие изменения

Доработаны скрипты и программы, которые можно использовать для разработки в качестве «костылей». Теперь пакет программ для тестирования выводит результаты в формате TAP и запускается командой prove. А сборка проекта может производиться благодаря Makefile, знакомому пользователям Git.

Помимо этого, внесены исправления и улучшена поддержка альтернативных объектов, а также выдачи результатов из подкаталогов командой git lfs status.

В конце июля 2018 года GitHub интегрировала инструмент для запуска CloudBuild от Google. Разработчики могут запускать проекты и видеть результаты выполнения кода в веб-сервисе.

Источник: блог GitHub