📚 들어가기


서론

파이썬 Transformers 라이브러리로 챗봇 비서를 만들 때 썼던 딥러닝 모델을 깃 허브에 다른 코드들과 같이 푸시 하려고 하는데 용량이 너무 커서 일반적인 방법으로 push가 안되는 문제가 발생했다

 

fatal: the remote end hung up unexpectedly

 

처음에는 평소와 같이 리포지토리를 만들고 push 했는데 이런 오류가 발생하였다

ChatGPT한테 물어보니깐 정확한 오류 해결법이나 문제가 생긴 요소를 잘 찾지 못해서 구글링을 시작했다

 

보통 git push 할때는 단일파일에서는 100MB 용량 제한이 있다고 한다

 

내 파일중에 100MB가 넘는 파일이 뭐가 있는지 확인했다

 

pytorch_model.bin

 

해당 파일이 500MB가 넘어가는걸 확인 짧은 프롬포트이지만 아무래도 10000번 이상 학습시킨 모델이라 그래도 용량이 조금 나가는 것으로 확인했다

 

이를 해결하기 위해 여러 블로그들을 탐색했지만 결국 해결방법을 찾지 못하고 끝내 LFS에 다다랐다

 

LFS를 처음 접해서 이걸 파일 단위로 올리는건가? 싶어서 해봤지만 안되는것을 확인하고 레퍼런스와 다른 블로그들을 확인하면서 대용량 파일을 찾아 .gitattributes 를 생성하고 push 할 때 알아서 파일을 인식하고 업로드 해주는 것을 알았다

 

마침내 push에 성공했다!

 

👨🏻‍💻 사용방법

 


먼저 내가 업로드 할 파일에 100MB 이상의 파일이 어떤건지 확인한다

 

보기에서 자세히를 클릭해두면 폴더를 제외한 모든 파일의 크기가 나온다

 

 

 

깃과 깃허브를 설치했으면 git bash도 같이 설치됐을것이다 해당 셸을 실행시킨다

먼저 LFS를 인스톨 시킨다

git lfs install

 

다음으로 내가 push 하려는 폴더 중 대용량 파일이 있는 경로로 이동한다

cd 내 파일이 있는 디렉토리

 

대용량 파일의 확장자에 맞춰서 명령어를 수정해주고 실행한다 원한다면 파일명까지 같이 입력해도 된다

LFS로 관리할 파일을 지정해주는 것이다

git lfs track "*.bin"

git lfs track "pytorch_model.bin"

 

아래와 같이 명령어를 입력하면 .gitattributes 가 알아서 생성된다 *자신의 파일명으로 바꿔줄 것*

git add pytorch_model.bin

 

해당 파일의 커밋을 입력해준다

git commit -m "대용량 파일"

 

이제 대용량 파일의 업로드 준비가 완료됐다 따로 ' 해당 파일을 업로드 할 준비 ' 필요 없이

 

평소처럼 다른 파일들이랑 같이 git add . 해서 push 하면 알아서 해당 파일과 같이 업로드 된다

'Git' 카테고리의 다른 글

[Git] Git-Flow 전략  (0) 2024.06.19