Перенос существующего репозитория Git в новый репозиторий с поддержкой Git LFS

Мой существующий репозиторий Github раздувается файлами zip и tar.gz, поэтому я хочу перенести его в новый репозиторий с поддержкой Git LFS, который отделен от существующего репозитория Github для тестирования, чтобы существующий репозиторий Github был < strong>нетронутый. Я наткнулся на замечательный инструмент под названием bfg-repo-cleaner https://github.com/rtyley/bfg-repo-cleaner и похоже именно то, что мне нужно!

Я собрал шаги, которые, по моему мнению, мне нужно сделать, но мне бы хотелось, чтобы вторая пара глаз удостоверилась, что это правильные шаги.

Где исходное существующее репо — https://github.com/username/source.git, а новое целевое репо с поддержкой Git LFS — https://github.com/username/destination-lfs.git

pass=PERSONAL_ACCESS_TOKEN
ORIGINAL="https://github.com/username/source.git"
REPONAME_ORIGINAL='source.git'
NEW="https://username:"${pass}"@github.com/username/destination-lfs.git"
REPONAME_NEW='destination-lfs.git'

# setup local work space
mkdir -p /home/workgit
cd /home/workgit

# download bfg
wget -cnv http://repo1.maven.org/maven2/com/madgag/bfg/1.12.12/bfg-1.12.12.jar -O bfg.jar
alias bfg='/bin/java -jar bfg.jar'

# setup local git
git clone --mirror "$ORIGINAL" "$REPONAME_NEW"
cd $REPONAME_NEW
git count-objects -v
git remote rename origin upstream
git remote add origin $NEW
git remote -v
cd ../

time bfg --convert-to-git-lfs '*.{zip,gz,rpm,tgz,xz,bz2,rar,7z,pdf,eot,svg,ttf,woff,woff2}' --no-blob-protection $REPONAME_NEW

cd $REPONAME_NEW
git reflog expire --expire=now --all && git gc --prune=now --aggressive
git count-objects -v
git lfs init
git push --dry-run -u origin master
git push -u origin master

Я ничего не пропустил? Кажется, толчок тоже не удался

git push --dry-run -u origin master                                        
Git LFS: (76 of 43 files) 799.22 MB / 1.43GB                                                                                                                                                                        
Authorization error: https://github-cloud.s3.amazonaws.com/xxxx/media/*****?actor_id=xxxxxx
Check that you have proper access to the repository
error: failed to push some refs to 'https://username:"${pass}"@github.com/username/destination-lfs.git'

Кроме того, в оригинальном репозитории github также добавлены дополнительные пульты для gitlab, bitbucket и резервных копий. Я считаю, что и битбакет, и gitlab поддерживают Git LFS, как это делает github?

Ваше здоровье


person p4guru    schedule 14.07.2016    source источник
comment
BitBucket поддерживает LFS только с 18 июля 2016 года: stackoverflow.com/a/38450750/6309   -  person VonC    schedule 19.07.2016


Ответы (1)


Команда Git LFS в настоящее время рекомендует git-lfs-migrate в качестве предпочтительного инструмента миграции:

git-lfs-migrate сейчас является предпочтительным способом. Вам больше не понадобится filter-branch... надеюсь

person javabrett    schedule 29.09.2016