페이지 트리

이 페이지는 Bitbucket에서 Git LFS 적용 및 사용 가이드를 제공한다.



개요

대용량 파일을 Git으로 관리하는 경우 Git 이력 파일의 크기 늘어나므로 clone, pull 동작시 많은 시간이 걸리게 된다. 이를 해소하기 위해 지정된 파일을 clone, pull 동작에서 제외하고 별도의 방법으로 파일을 다운로드 하는 기능을 제공한다.

Bitbucket 

전역 설정

Bitbucket은 기본으로 LFS 기능이 활성화 된다. 그리고 저장소는 비활성 상태가 기본 설정이므로 원하는 저장소에 대해 활성 설정이 필요하다.

  • 관리자 페이지 > Server Settings > Large File Storage (LFS) 체크

저장소 설정

  • 저장소 설정 페이지 > Large File Storage (LFS) 체크


Git Client 환경

Git LFS 필터 다운로드

환경에 맞는 LFS 도구를 설치한다.


Git LFS 필터 설치

Git Client 커멘드 라인에서 다음 명령을 통해 Git LFS를 설치한다. 

$ git lfs install


명령의 결과로 <USER HOME>/.gitconfig에 lfs 설정이 추가된다.

  • Git clone, pull, push 명령 LFS 파일들이 자동으로 포함 된다. 

    [filter "lfs"]
        clean = git-lfs clean -- %f
        smudge = git-lfs smudge -- %f
        process = git-lfs filter-process
        required = true
  • Git clone, pull, push 명령에 LFS 파일을 제외하려는 경우 설정을 수정한다. 

    [filter "lfs"]
        clean = git-lfs clean -- %f
        smudge = git-lfs smudge --skip -- %f
        process = git-lfs filter-process --skip
        required = true

LFS 파일 지정

대용량 파일로 관리할 파일 유형을 지정한다.

  • 예) png 확장자를 가지는 파일 지정

    $ git lfs track "*.png"
    $ git add .gitattributes

서버에 반영

설정된 .gitattributes와 함께 LFS 파일을 서버에 push 한다.

  • 예) LFS 파일 포함 설정의 경우

    $ git add sample.png
    $ git commit -m "Added an image"
    $ git push origin
  • 예) LFS 파일 별도 처리의 경우 (--skip)

    $ git add sample.png
    $ git commit -m "Added an image"
    $ git lsf push origin

LFS 파일 다운로드

LFS 파일을 서버에서 다운로드 한다.

  • 예) LFS 파일 포함 설정의 경우

    $ git pull origin
  • 예) LFS 파일 별도 처리의 경우 (--skip)

    $ git pull origin
    $ git lfs pull origin

참고

LFS 해제

$ git lfs uninstall

LFS 파일 목록 확인

$ git lfs ls-files
  • 레이블 없음