본문 바로가기

메모장/기타

Git LFS (Large File Storage) - 100MB 이상의 파일을 깃허브에 올리기

git에는 LFS (Large File Storage)라는 기능이 존재합니다.

LFS란?

git에서 크기가 큰 파일을 다루기 위해서 github에서 만든 오픈 소스 입니다.

용량이 큰 파일을 외부 스토리지에 올리고 git에는 LFS (Large File Storage)라는 기능이 존재합니다.

 

LFS란?

 

git에서 크기가 큰 파일을 다루기 위해서 github에서 만든 오픈 소스 입니다.

용량이 큰 파일을 외부 스토리지에 올리고 리포지토리(Repository)에서는 포인터로 관리합니다.

github link : https://github.com/git-lfs/git-lfs/releases/tag/v2.7.2

 

git-lfs/git-lfs

Git extension for versioning large files. Contribute to git-lfs/git-lfs development by creating an account on GitHub.

github.com

글 작성 기준 2.7.2가 최신 버전이군요.

 

그래서 LFS가 왜 필요한가?

github에서는 git이 대용량 파일을 다루는데 적합하지 않다는 이유로 도입했다고 하는데,
사용자 입장에서는 단순히 github에 100MB가 넘는 파일을 올리기 위해서 사용합니다.

github는 50MB 이상의 파일을 올리려고 하면 경고를 띄우고, 100MB 이상의 파일은 에러가 나며 업로드에 실패하게 됩니다.

이를 해결하기 위해 크기가 큰 파일은 LFS에 등록해줘서 따로 관리 합니다.

 

LFS 등록하기

1. 소스트리로 등록하기.

저장소 - Git LFS - 저장소 초기화를 선택해 줍니다.

이런 창이 뜨는데, Start Using Git LFS를 눌러주면, 프로젝트에서 LFS를 사용할 수 있게 됩니다.

추가 버튼은 눌러서 용량이 큰 확장자들을 추가해 줍니다. ("/image/" 나 "img.png" 등의 형식도 가능합니다.)

.zip를 추가

그럼 .gitattributes 라는 파일이 생성되며, 등록된 확장자는 자동으로 LFS에서 관리하게 됩니다.

 

 

2. 터미널로 등록하기

Git LFS 링크로 가셔서 LFS 압축파일을 다운로드 후 설치해줍니다.

운영체체에 맞는 버전을 다운로드

 

그 후에 git 프로젝트 폴더로 이동해서 다음의 커맨드를 입력해줍니다.

git lfs install
git lfs track "*.zip"

install은 한번만 해주시면 됩니다.

track 명령어를 통해 관리할 리소스를 등록해 줍니다.

한번 등록한 확장자는 다음 커밋부터는 자동으로 LFS에서 관리하게 됩니다.

 

이미 커밋한 내용은 등록되지 않음으로 반드시 커밋 전에 등록해주셔야 합니다.

만약 이미 커밋을 해버린 100MB이상의 파일이 있다면, 나중에 LFS에 추가하더라도 github에 올라가지 않으니 커밋을 취소하고 LFS로 다시 올리셔야 합니다.