GIT : github에 100MB 이상 파일 올리기 (LFS)
github에 100MB 이상 파일 업로드
github에 push를 할 때, 50MB 이상의 파일이 포함되면 경고 메시지를 띄우고, 100MB 이상의 파일이 포함되면 에러가 발생합니다.
하지만 부득이하게 동영상 파일이나, 3D모델, psd파일 등을 git으로 올려야 할 때, 위와 같은 제약 때문에 무척 불편할 때가 많습니다.
(gitlab은 파일별로 용량제한은 없는 것 같고 프로젝트 단위의 용량 제한을 하는 것 같아서 편하던데..)
github에서는 100MB이상을 올리기 위해서는 어떻게 해야 할까요?
LFS (Large File System)
git에서는 LFS(Large File System)을 이용하여 이와 같은 문제를 해결할 수 있습니다.
LFS는 github에서 크기가 큰 파일을 다루기 위해서 github에서 만든 오픈소스입니다.
LFS는 용량이 큰 파일들 및 binary파일들을 별도로 관리해줍니다.
따라서 LFS를 이용하면 큰 파일이 포함되더라도 쉽게 github 서버로 푸시할 수 있습니다.
git에 LFS 설치하기
git lfs install
위와 같은 명령어 형식으로 git에 lfs를 설치할 수 있습니다.
(실습 코드)
LFS에 Large FIle 등록하기
LFS에 track 명령어로 추적할 파일을 명시하여 줍니다.
예를 들어, 포토샵 파일을 git에 추가하고 싶다고 가정했을때, .psd파일들의 용량이 클 것으로 예상되면
git lfs track "추적할 파일"
위와 같은 명령어 형식으로 추적할 파일을 명시해 줍니다.
위와 같이 등록을 해주면, psd확장자인 파일들은 github로 푸시할 때 자동으로 lfs로 관리하여 줍니다.
이후 서버로 푸시를 해주면 100MB 이상의 파일도 잘 올라가는 것을 확인할 수 있습니다.
.gitattributes 파일
track을 한 이후에는 .gitattributes라는 파일이 생기는 것을 확인할 수 있습니다.
해당 파일을 들어가서 보면 아래와 같이 *.psd가 lfs에 등록되어 있는 것을 확인할 수 있습니다.
위 파일을 통해 LFS에 추적할 파일들을 관리합니다.
git lfs untrack [추적할파일]
추가로 위처럼 untrack 명령어를 사용하면 해당되는 라인이 삭제되고 LFS에서의 등록도 해제됩니다.