대용량 파일을 Git을통해 관리하고 싶을 수 있다. 현재 Github정책상 한 파일의 용량이 50MB 이상이면 경고, 100MB이상이면 에러를 발생시킨다. 이러한 상황에 활용할 수 있는 것이 Git LFS이다.
홈페이지 : https://git-lfs.github.com/
튜토리얼 : https://github.com/git-lfs/git-lfs/wiki/Tutorial
홈페이지 설명 : Git LFS (Large File Storage)는 오디오 샘플, 비디오, 데이터 세트 및 그래픽과 같은 대용량 파일을 Git 내부의 텍스트 포인터로 대체하는 동시에 GitHub.com 또는 GitHub Enterprise와 같은 원격 서버에 파일 콘텐츠를 저장합니다.
내부적으로만 텍스트 포인터로 대체하기 때문에 기존의 Git사용법과 동일하게 Git LFS를 사용할 수 있다.
프로그램 설치 후 원하는 경로에 가서 명령어를 실행한다.
git lfs install
이 후 LFS로 관리하고 싶은 파일의 종류 (확장자 or 파일이름)를 추적 (파일디렉토리 X)
git lfs track "*.psd"
git lfs track "file.abc"
.gitattribute에 변경내용을 저장한다.
git add .gitattribute
이후 원래 사용법과 동일하기 커밋 & 푸시 가능하다.
git commit -m "update gitattributes for lfs"
git push
파일을 git add하기 전에, git lfs track을 해주어야하기 때문에 기존에 add해둔 파일을 lfs로 관리해야하는 상황이라면 먼저 unstaging 후, 다시 git lfs track을 해야한다.
gft lfs ls-files
git lfs untrack "*.psd"
git rm --cached "*.psd"
git add "*.psd"
git lfs pull
기존 저장소를 LFS 저장소로 이주(migrate)하는 법
git lfs migrate import --include="adc.def"
git push
https://github.com/git-lfs/git-lfs/wiki/Tutorial#migrating-existing-repository-data-to-lfs