Github의 50MB 파일 크기 제한 - warning: GH001: Large files detected. You may want to try Git Large File Storage
현재 github에 50MB 이상의 파일을 commit하면 이런 오류가 발생합니다.
Opening repositories:
E:\git_clone\ffmpeg_autogen_cs
Commit 2e9dc2fa created locally in repository E:\git_clone\ffmpeg_autogen_cs
Enumerating objects: 14, done.
Delta compression using up to 24 threads
Total 12 (delta 2), reused 0 (delta 0), pack-reused 0
Remote: Resolving deltas: 0% (0/2)
Remote: Resolving deltas: 50% (1/2)
Remote: Resolving deltas: 100% (2/2)
Remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
Remote: warning: See http://git.io/iEPt8g for more information.
Remote: warning: File Libraries/x64/avcodec-59.dll is 66.78 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB
Remote: warning: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com.
To https://github.com/stjeong/ffmpeg_autogen_cs.git
ceaebbe..2e9dc2f master -> master
해결 방법은, 링크를 통해 제공하고 있으니 침착하게 대응하시면 됩니다. ^^ 그러니까, "Git Large File Storage" 파일을 다운로드해,
Git Large File Storage
; https://git-lfs.github.com/
(2022-04-17 기준 3.1.2 버전의) git-lfs-windows-v3.1.2.exe 파일을 실행해 설치하면 끝입니다. 이후, github repo의 로컬 프로젝트 경로에서 다음과 같이 50MB 크기가 되는 파일을 ".gitattributes"에 설정하는 다음의 명령어를 실행하면 됩니다.
// 크기가 50MB 이상이 되는 파일이 DLL이므로.
E:\git_clone\ffmpeg_autogen_cs> git lfs track "*.dll"
위의 명령어를 실행하면 ".gitattributes"에 다음의 내용이 추가되는데,
*.dll filter=lfs diff=lfs merge=lfs -text
따라서 굳이 "git lfs ..." 명령어를 실행할 필요 없이 저 내용을 ".gitattributes" 파일에 직접 추가해도 됩니다.
이렇게 하고, 다시 sync를 하면 이번엔 이전과는 달리 정상적으로 commit이 됩니다.
참고로, 문서를 대충 보면, github 측에서 운영하는 파일 시스템이 50MB 크기로 제한돼 있는데 저 lfs 확장을 사용해 업로드(?)하면 50MB로 분할해서 관리한다고 합니다.
[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]