[git lfs] github에 대용량 파일 올리기

nathan·2021년 12월 12일
0

Git

목록 보기
4/4

배경

빅데이터 팀 프로젝트와 관련한 파일들을 깃허브에 올릴 때
다음과 같은 오류가 뜨면서 push가 되지 않는 문제점이 발생했다.

위 이미지에서 볼 수 있듯 대용량 파일을 올리기 위해서는 git lfs를 통해 해야한다고 알려주고 있다.


Git LFS란?

  • LFS : Large File Storage의 준말로, 100MB이상의 파일을 github에서 관리하기 위해 사용된다.

  • git-lfs를 통해 대용량의 파일을 git 작업 공간과는 다른 서버 공간에 저장한다. 그래서 그 포인터 값만 git 작업 공간에 저장을 하여 여러 커밋 중 해당하는 커밋을 열람시에만 포인터가 가리키는 주소값에서 파일을 받아와 활용할 수 있게 해준다는 점에서 효율적이다.

  • 초기 설정 이후에는 평소에 쓰던 git 명령어를 통해 쉽게 사용할 수 있다.

  • lfs 용량 제한 : Github과 Bitbucket은 1GB, GitLab은 10GB의 용량 제한이 있고, 넘을 시 추가비용을 지불한다.


주의할 점

  • github에서 추후 모든 히스토리에 관해 lfs 추적이 해제된다고 해도 lfs 저장공간은 그대로 차지하며, 유일하게 저장공간을 비울 수 있는 방법은 github에서 관련 repository를 삭제하고 다시 생성하는 방법밖에 없다. 이 방법은 issue, star, fork 등 전부 초기화 되므로, lfs 적용에 앞서 주의해야 할 것이다.

git lfs 설치

  • terminal에서 다음의 명령어를 통해 git lfs를 설치한다.
git lfs install

대용량 파일 추적

  • 모든 csv 확장자들을 추적한다는 의미의 명령어
git lfs track '*csv'

설정 파일 추가

  • git lfs에 대해 설정한 내용이 .gitattributes 에 저장되어 있는데 이만 따로 추가해 주거나 변경사항 전체를 추가한다.
git add .gitattributes	# .gitattributes 만 추가
git add . # 전체 변경사항 추가

원격 저장소에 업로드 하기

  • 원래 github를 이용했던 것과 동일하게 git add, commit, push 를 사용하여 원격 저장소에 업로드 하면 되고, 이후 원격 저장소에서는 대용량 파일과 관련되어 Store with Git LFS라는 표시를 볼 수 있다.

git lfs 파일 추적

  • 모든 커밋에서 git lfs로 관리되는 파일들을 확인 가능한 명령어
git lfs ls=files --all
profile
나는 날마다 모든 면에서 점점 더 나아지고 있다.

0개의 댓글