Gitlab에서 Github로 미러링

Sujin Lee·2022년 6월 30일
2
post-thumbnail

Gitlab에서 Github로 미러링

  1. 터미널을 연다.
  2. 복사하고자 하는 저장소(gitlab)의 bare clone을 생성한다.
$ git clone --bare https://gitlab.com/exampleuser/old-repository.git
  1. 새로운 저장소(github)로 mirror-push
$ cd old-repository.git
$ git push --mirror https://github.com/exampleuser/new-repository.git

100MB를 넘어가는 크기의 파일을 지닌 저장소 미러링

  1. git lfs와 BFG Repo Cleaner 설치
  2. 복사하고자 하는 저장소(gitlab)의 clone 생성
$ git clone --mirror <https://gitlab.com/exampleuser/old-repository.git>
  1. 커밋 히스토리 내에서 large file을 찾아 트랙킹을 한다.
  • old-repository.git이 있는 위치에 bfg-1.14.0.jar이 있어야 함
  • old-repository.git에 들어가서 git lfs 설치
$ ls
old-repository.git  bfg-1.14.0.jar
$ cd old-repository.git
$ git lfs install
$ git filter-branch --tree-filter 'git lfs track "*.{zip,jar}"' -- --all
  • zip,jar 부분은 100MB를 넘어가는 파일의 확장자를 써주는 것
  1. 100mb 넘는 것을 제거
  • protected commoits 에러 발생: protected commits을 포함시켜서 제거해주어야 하기 때문에 jarfile 실행 명령어에 조건을 추가 -> --no-blob-protection
  • 새로운 저장소로 Push
$ java -jar bfg-1.14.0.jar --strip-blobs-bigger-than 100M --no-blob-protection project_nlp.git
$ git push --mirror <git 저장소>

https://velog.io/@dear/git-mirror-gitlab-github-%EC%97%B0%EB%8F%99
https://velog.io/@canalisl/Git-%EB%AF%B8%EB%9F%AC%EB%A7%81-These-are-your-protected-commits-%EC%97%90%EB%9F%AC-%ED%95%B4%EA%B2%B0

profile
공부한 내용을 기록하는 공간입니다. 📝

0개의 댓글