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에서의 등록도 해제됩니다.
'개발 도구 및 Git 사용법 > git (협업 툴) 사용법 정리' 카테고리의 다른 글
Git : github 개인 엑세스 토큰 발급 / Git Crediential을 이용하여 원격저장소에 처음 한번만 로그인하도록 계정정보 캐싱 (0) | 2022.04.11 |
---|---|
Git: stash list의 각 stash 이름 바꾸기 (rename) (0) | 2022.02.27 |
GIT - Commit한 메세지 문구 수정하기 (Commit 메세지 오타 수정) (3) | 2020.12.06 |
GIT - 커밋이나 ADD를 취소하기 (실수로 Commit 이나 Add를 잘못했을 때) (0) | 2020.11.08 |
GIT - Oh-my-zsh 터미널에서 많이쓰는 git 단축키 정리 (0) | 2018.11.15 |