대용량 파일 git에 업로드하기

SolMi_Koh·2023년 7월 12일
0

github

목록 보기
3/5
post-thumbnail

문제

졸업 작품으로 만들었던 'Your World'란 아트게임을 github에 올리고 싶어서 시도하던 도중 오류를 마주했다..!

용량이 초과됐다는 경고 메세지ㅠㅠ

하지만 github에서 이런 가벼운 게임도 못 올라갈 일이 없다고 생각했기에 열심히 검색해서 방법을 알아냈다:D

25MB이하로 시도하라고 메세지가 표시됐지만 시도를 해보니 100MB 밑으로는 굳이 따로 처리를 안해줘도 warning이 뜰 뿐 업로드는 문제 없이 된다. 100MB이상의 파일들을 업로드할 때 참고하면 좋을 것 같다!

(사실 엄청 해맸어서 정리할겸 다시 업로드를 해보았고, 그 과정을 본문에 실었다)

사전 준비

git lfs install

lfs설치가 필요하다.
참고) https://git-lfs.com/

해결법

1. 올리고 싶은 파일들이 있는 폴더에 가서 git bash를 켜주자!

2. 새로운 Git 저장소 (repository)를 생성할 때 사용하는 Git 명령어 입력

git init

cf) git bash에서 붙여넣기는 ctrl+shif+Ins 😉

여기서 잠깐!
main과 master에 대해서 한번 짚고 넘어가야 한다.

  • 현재는 master를 사용하지 말자는 운동 때문에 main을 default branch로 하는 경우가 많아졌다고 한다.

  • 따라서 default branch가 master라면 main으로 수정하는걸 권장한다. (필수는 아니지만 바꿔두면 편할 것이다..! master로 하고 싶다면 아래 과정에서 main을 master로 바꿔써줘야 작동한다.)

  • 아래 명령어를 그대로 입력해주면 된다. 그리고 gitbash를 재실행하고 처음부터 순서를 다시 따라오길 바란다!
git config --global init.defaultBranch main

3. github repository와 연결해주기

git remote add origin https://github.com/SOL-MI/YourWorld.git

github에서 레포지토리 주소를 복사해서 붙여넣어주면 된다!
만약 레포지토리 생성시 README.md 파일을 같이 생성했다면 4번 단계에 넘어가기 전에 pull을 한번 해줘야 한다.

git pull origin main

4. 어떤 파일이 용량이 큰지 찾아야한다.

(만약에 어떤 파일이 큰지 알고 있으면 이 단계를 생략해도된다!)

find -type f -size +100M -exec ls -lh {} \;

5. 해당 파일을 찾았다면 track을 해줘야한다!

(나의 경우는 100MB가 넘는 파일이 1개 뿐이었다.
: ./YourWorld_Data/sharedassets1.assets.resS )

$ git lfs track "./YourWorld_Data/sharedassets1.assets.resS"

그러면 .gitattributes 파일이 생성된다!
gitattributes는 lfs파일 정보가 담긴 파일이다.
(https://newsight.tistory.com/330 참고하기)

6. 안전하게 .gitattributes를 먼저 push해보도록 하자..

(순서대로 입력해주자)

git add .gitattributes
git commit -m "create .gitattributes"
(따옴표 안 커밋메세지는 알아서 수정하기) 
git push origin main

그러면 정상적으로 올라간 것을 확인할 수 있다!!!

7. 이제 거의 끝나가니 편안한 마음으로 중간 점검

지금 상태 확인을 위한 명령어 입력 (안하고 넘어가도 상관없음. 말그래도 잘 진행되고 있는지 확인하려는 목적)

git status

8. 앞서 .gitattributes파일 push할 때와 똑같은 과정을 반복해준다.

git add . 
현재 위치에 있는 모든 파일을 add하라는 의미이다.
git commit -m"upload project"
git push origin main

그러면 깃허브에 잘 올라간 것을 확인할 수 있다 😀

과정을 반복하며 알게된 점

동일한 파일명의 lfs파일은 같은 github 계정에 하나만 올라간다.

이 글을 쓸 때 정리할겸 다시 테스트를 해보다가 발견했다.
똑같이 했는데 왜 안되는건지.......엄청 헤맸다......

tracking도 제대로 하고 있는데

lfs 파일 업로드에 실패했다는 이 에러 메세지에서 헤어나오질 못했다.....

해결방법은 '파일명 변경'이었다. 이미 예전에 github에 올리면서 해당 파일이 업로드 되어있었기에 중복이 불가해서 업로드가 되지 않았던 것이었다.
(이미 깃헙에 업로드 해둔 상태지만 다시 한번 복기하기 위한 시도였기에 일반적인 시도가 아니여서 해결법을 찾기가 더 쉽지 않았었다.)

cf) 다른 깃헙 계정에 올리는 방법도 있다.
다만, 컴퓨터 내에서 사용자 정보를 변경해야한다.
https://hohoya33.tistory.com/122

profile
고수가 되기까지