이 페이지는 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