[git] git LFS(Large File Storage)

2020. 2. 11. 11:17Programming/WEB

[Git] git LFS(Large File Storage)

깃헙 저장소 하나당 용량은 1GB로 제한되었다.

하지만 우리의 프로젝트들은 당연 >< 그 용량을 넘는다는 점!

그래서, 저장소를 분산하여 저장할수있는 기능으로 LFS(Large File Storage) 를 사용하면 좋다.

바로 깃에서 대용량 파일을 관리할 수 있다는 매우 큰 장점!

 

사용

저장소를 분산하는것이 핵심인, 다양한 협업에서 리소스 용량이 큰 경우 특히나 잘 사용했다.

게다가 예상치 못했던 또 하나의 이점!! 깃헙사용이 두려운 디자이너와의 협업 시 잘 사용할 수 있었다. 자신의 클릭한번이 프로젝트를 망칠까 두려워하는 부담감을 많이 덜게해줄 수 있었다.

 

 

원리

대용량 파일을 그대로 저장하지 않고 파일이 저장되어있는곳을 text pointer로 대체하는것이다. 실제 파일은 git lfs api를 통해 분리된 공간으로 저장되어 이득!

 

 

GitHub LFS 셋팅

   Git Large File Storage

  1. brew install git-lfs 또는 port install git-lfs

  2. 해당 레포로 가기 cd THIS_REPO

  3. 레포당 설치 한번! git lfs install

  4. Tracking할 파일확장명 || 폴더를 지정해준다.

    파일확장자 : git lfs track "*.psd"

    폴더 명 : git lfs track "resources/**"

    본인은 resources 폴더 내 모든 파일을 트래킹하도록 지정했다.

  5. 그러면 루트 레포에 .gitattributes파일이 생성되고, 파일 내부에 내용이 추가되는 모습을 확인할 수 있다.

     resources/** filter=lfs diff=lfs merge=lfs -text
  6. git add .gitattributes 현재 셋팅을 업데이트해준다.(본인은 제대로 셋팅이되었는지 테스트를 같이 진행해보려, 다음에 업로드 파일까지 모두 한꺼번에 add했다)

  7. resources 에 test 파일을 넣고, git add .GitHub에 commit, push

    git commit -am "LFS test"

    git push origin master

이제 깃헙 레포로 가면

 

성공적으로 LFS가 지정되면 깃헙에서도 위와같은 Stored with Git LFS state를 확인할 수 있다.