프로젝트를 위해 깃허브 등으로 코드와 파일을 공유하다 보면 간혹 깃허브의 파일 용량 제한에 걸려 난감해질 때가 있습니다. 이는 깃허브 자체적으로 25MB (공식 문서상으로는 100MB) 이상의 용량을 가진 파일을 업로드할 수 없게 해놓았기 때문이죠. 따라서 이런 대용량 파일을 공유하는 프로젝트를 사용하려면 어쩔 수 없이 다른 툴을 사용하거나, 컴퓨터에 깔린 깃에 추가적인 조치를 취할 수 밖에 없어집니다.
이번 포스트에서는 타 프로그램이나 플랫폼을 사용하지 않고 깃 자체적으로 대용량 파일을 업로드할 수 있는 방법을 소개하겠습니다.
NOTE_ 타 플랫폼의 경우 드랍박스(Dropbox)를 이용하는 것이 예시가 되겠습니다. 심지어 드랍박스는 깃허브 공식 문서에서 소개하고 있는 플랫폼이기도 합니다!
(출처: https://docs.github.com/ko/repositories/working-with-files/managing-large-files/about-large-files-on-github)
Git LFS

Git LFS는 깃에서 대용량 파일을 처리할 수 있게끔 도와주는 툴입니다. 먼저 해당 링크로 들어가서 lfs를 먼저 설치해주세요.
설치가 끝났다면 git bash 등의 터미널 상에서 아래 커맨드를 순서대로 입력해줍니다.
CAUTION_ git bash를 실행하는 폴더(디렉터리)는 아래 커맨드를 실행하기 전에 반드시 git init을 통해 깃에 연동을 시켜주셔야 합니다!
git lfs install
git lfs track "*.zip"
git add .gitattributes

이때 두번째 스크립트의 따옴표 안에 원하는 파일의 이름을 입력합니다. 저는 archive.zip
라는 파일을 업로드하려고 합니다. 원하는 확장자의 모든 파일을 처리하고 싶을 때 위의 예시 코드처럼 *
을 확장자 앞에 붙여서 처리할 수도 있습니다.
여기까지 처리하셨다면 일반적인 파일을 업로드할 때와 마찬가지로 add, commit, push 과정을 진행하면 파일이 업로드되는 것을 볼 수 있습니다.

이렇게 업로드된 파일의 용량을 보면 (제 파일 기준으로) 약 19MB 기준으로 깃허브 업로드 기준을 만족했습니다. 이 파일의 압축을 해제하면 압축 이전의 원본 파일이 손실되지 않고 저장되어 있었습니다.