Разработчики 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