[Git] 실수로 큰 용량의 파일을 리포지토리에 넣었을 때의 대책

갑자기 푸쉬가 리젝 되는걸 확인해보니
실수로 VS2015에서 자동생성되는 VC.db파일을 리포지토리에 넣었다.
이 파일이 100mb를 넘어가 대체 무슨 파일인가 했더니 인텔리센스 관련 파일이랜다.

리젝 메세지는 다음과 같다.

remote: error: File FileName.VC.db is 120.00 MB; this exceeds GitHub's file size limit of 100 MB

이럴 경우엔 git rm으로 삭제 후 다시 push를 해도 이력에는 그대로 남기 때문에 push 대상에서 해제되지 않는다. ignorelist 에도 추가해 보고 별 뻘짓을 한 후에 구글링을 통해 다음과 같은 해결법을 찾았다.

$  git filter-branch --force --index-filter \
  'git rm --cached --ignore-unmatch  FileName.VC.db' \
  --prune-empty --tag-name-filter cat -- --all

위 커맨드를 터미널을 통해 입력 후 다시 Push 하면 해결된다.


댓글