본문 바로가기
git (협업 툴) 사용법 정리

GIT : github에 100MB 이상 파일 올리기 (LFS)

by 번데기 개발자 2021. 4. 18.
반응형

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를 설치할 수 있습니다.

 

 

(실습 코드)

실습 1

LFS에 Large FIle 등록하기

LFS에 track 명령어로 추적할 파일을 명시하여 줍니다.

 

예를 들어, 포토샵 파일을 git에 추가하고 싶다고 가정했을때, .psd파일들의 용량이 클 것으로 예상되면

 

git lfs track "추적할 파일"

 

위와 같은 명령어 형식으로 추적할 파일을 명시해 줍니다.

 

 

실습 2

위와 같이 등록을 해주면, psd확장자인 파일들은 github로 푸시할 때 자동으로 lfs로 관리하여 줍니다.

 

이후 서버로 푸시를 해주면 100MB 이상의 파일도 잘 올라가는 것을 확인할 수 있습니다.

 

.gitattributes 파일

track을 한 이후에는 .gitattributes라는 파일이 생기는 것을 확인할 수 있습니다.

 

실습 3

해당 파일을 들어가서 보면 아래와 같이 *.psd가 lfs에 등록되어 있는 것을 확인할 수 있습니다.

 

실습 4

위 파일을 통해 LFS에 추적할 파일들을 관리합니다.

 

git lfs untrack [추적할파일]

 

추가로 위처럼 untrack 명령어를 사용하면 해당되는 라인이 삭제되고 LFS에서의 등록도 해제됩니다.

 

반응형