随着时间的流逝,Git 存储库变得越来越大,将大文件添加到 Git 存储库后:
得依赖 BFG,工具地址:https://rtyley.github.io/bfg-repo-cleaner/
使用方法:
git clone --mirror git@gitlab.liebaopay.com:pc_duba/kpdf/pdfreader.git
java -jar bfg-1.14.0.jar --strip-blobs-bigger-than 10M pdfreader.git
cd pdfreader.git
git reflog expire --expire=now --all && git gc --prune=now --aggressive
git remote set-url --push origin git@gitlab.liebaopay.com:pc_duba/kpdf/pdfreader2.git
git remote set-url origin git@gitlab.liebaopay.com:pc_duba/kpdf/pdfreader2.git
git push
遇到的两个问题:
git-filter-branch - Rewrite branches
7,217 Commits / 114 Branches / 4 Tags / 7.1 GB Files
git@gitlab.example.com:pcapp/kpdf/pdfreader.git
https://gitlab.example.com/pcapp/kpdf/pdfreader.git
git@gitlab.example.com:yqh/pdfreader.git
https://gitlab.example.com/yqh/pdfreader.git
最近迁移 git 项目地址,想保留原有分支和提交。
git clone --mirror old.git (old.git 为老项目的 git 地址)
git clone --mirror git@gitlab.example.com:pcapp/kpdf/pdfreader.git
cd old.git
cd pdfreader.git
git remote set-url --push origin new.git (new.git 为新项目的 git 地址)
git remote set-url --push origin git@gitlab.example.com:yqh/pdfreader.git
git push --mirror // 这一步需要输入新的 git 的账号和密码
git push --mirror