# GitHub 저장소(repository) 미러링
# 미러링 : commit log를 유지하며 clone
#
# 저장소 미러링
복사하고자 하는 저장소의 bare clone 생성
git clone --bare {복사하고자하는저장소의 git 주소}
새로운 저장소로 mirror-push
cd {복사하고자하는저장소의git 주소} git push --mirror {붙여놓을저장소의git주소}
1번에서 생성된 저장소 삭제
# 100MB를 넘어가는 파일을 가진 저장소 미러링
git lfs (opens new window)와 BFG Repo Cleaner (opens new window) 설치
복사하고자 하는 저장소의 bare clone 생성
git clone --mirror {복사하고자하는저장소의 git 주소}
commit history에서 large file을 찾아 트랙킹
git filter-branch --tree-filter 'git lfs track "*.{zip,jar}"' -- --all
BFG를 이용하여 해당 파일들을 git lfs로 변경
java -jar ~/usr/bfg-repo-cleaner/bfg-1.13.0.jar --convert-to-git-lfs '*.zip' java -jar ~/usr/bfg-repo-cleaner/bfg-1.13.0.jar --convert-to-git-lfs '*.jar'
새로운 저장소로 mirror-push
cd {복사하고자하는저장소의git 주소} git push --mirror {붙여놓을저장소의git주소}
1번에서 생성된 저장소 삭제