git에서 commit 포함 100MB 이상 옮길 때 발생하는 오류 해결

류기탁·2022년 5월 25일
0

Git

목록 보기
6/6

git 옮길 때 발생하는 문제. 해결해보았다.

1. 옮길 큰 레퍼지토리 클론하기

git clone --bare (큰 레퍼지토리 주소)

간단히 정의하면
mirror 우리가 접근을 깃에다 하는거고
bare 는 그대로 복사하는 것.

2. bfg 파일 다운

  • bfg를 다운받아서 같은 폴더에다가 위치 시켜주고

java -jar bfg.jar --strip-blobs-bigger-than 100M 해당깃폴더이름.git
git reflog expire --expire=now --all && git gc --prune=now --aggressive

으로 기록을 삭제해준다.

3. 큰 파일들을 바꿔주기

커밋기록에서는 지웠고, 해당 레퍼지토리에도 100M 이상이 있을 경우에는 이 과정을 해줘야한다.
(위 같은경우, sql파일이 600M 넘었다.)

git filter-branch --tree-filter 'git lfs track ".(확장자명)"' -- --all
java -jar (BFG jar 저장경로) --convert-to-git-lfs '
.(확장자명)'
ex)
git filter-branch --tree-filter 'git lfs track ".{zip,jar,sql,csv,mp4}"' -- --all
java -jar C:\bfg-1.14.0.jar --convert-to-git-lfs '
.zip'

4. 푸시하기

git push --mirror (이동할 git hub 레퍼지토리.git)

profile
오늘도 행복한 하루!

0개의 댓글