У нас есть хранилище с высокой стоимостью и дорогостоящее разрушение.
У него также есть большие XML файлы, которые вызывают значительные проблемы при использовании веб-приложения для слияний и git истории журналов. Кроме того, это может сделать наш CI / CD неэффективным. Другими словами ... обычные вещи, которые побуждают людей переходить на git -lfs.
Мы хотим сделать это осторожно. Один файл за раз.
Я видел подходы, аналогичные перечисленным ниже:
cp *.xml ~/tmp
git rm *.xml
git commit
git lfs track *.xml
git add .gitattributes
git commit; git push
В каталоге fre sh:
git clone --mirror $remote; cd repo
bfg --delete-files '*.xml'
git reflog expire --expire=now --all && git gc --prune=now --aggressive
git push
Назад в sr c:
mv repo repo.bloated
git clone $remote; cd repo
cp ~/tmp/*.xml .
git add *.xml # (it now puts them in lfs)
git commit; git push
Как я могу сделать что-то подобное, но просто начните с одного большого файла xml, чтобы уменьшить риск во время этого перехода. Мы предпочитаем быть в легком контакте с разработчиком, поддерживающим этот файл, изолировать изменения и сканировать здесь. Изменение сотен файлов может задержать разработчиков и обойтись дорого.
Мы просто изменим *
на указанное c имя файла в приведенном выше примере?