[깃] 깃허브에 대용량 파일 업로드하는 방법
프로젝트를 위해 깃허브 등으로 코드와 파일을 공유하다 보면 간혹 깃허브의 파일 용량 제한에 걸려 난감해질 때가 있습니다. 이는 깃허브 자체적으로 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 기준으로 깃허브 업로드 기준을 만족했습니다. 이 파일의 압축을 해제하면 압축 이전의 원본 파일이 손실되지 않고 저장되어 있었습니다.