본문 바로가기

DevTools

[git] 실수로 용량이 큰 파일을 커밋했을 때

회사에서 gitlab을 쓰면서 쾌적한 git life를 즐기다가 github에서는 100MB이상의 파일이 푸시가 안된다는 것을 알았다.

R 스터디 할때 써놓은 코드를 기록하려고 데이터와 함께 커밋을 해버렸는데, 커밋때 경고가 한번 떴(던거같은데)다가 푸시할때도 아래와 같은 에러를 뱉으며 push fail이 일어났다

remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com.

--force 명령어에도 푸시가 안돼서 찾아보니, filter-branch를 통해 커밋 히스토리에서 삭제해야한다고.

git filter-branch --tree-filter 'rm -f path/to/bigRdata/biggy.sav' HEAD
git push origin master --force

필터 브랜치 명령어에서 삭제할 데이터의 path는 git bash에서 접근한 경로기준으로 (보통은 git의 루트디렉토리) 입력하면 된다.

'DevTools' 카테고리의 다른 글

[Hyper-V] 네트워크 세팅하기  (0) 2019.04.29
[git] gitignore 즉시 적용하기  (0) 2019.02.27