Unity & C#

SourceTree에서 Git LFS 적용하기

왼손잡이개발자 2021. 9. 30. 03:43

최근 팀 작업에서 프로젝트 관리 툴로 Github과 SourceTree를 사용하고 있다. SourceTree는 이런게 있다하고 들어보기만 하고 실제로 사용해 본적이 없어 이번 기회에 공부도 하고 익숙해질겸 사용해보기로 했다. 

 

팀 프로젝트 진행 도중 파일당 100MB가 넘는 경우가 많이 있어 그럴때마다 Push를 할 수 없다고 에러가 떴다. 그래서 용량이 큰 파일들을 처리할 수 있는 것이 Git LFS 인데 검색을 해보니 SourceTree에서는 Git LFS를 쉽게 적용할 수 있다고 나왔다.

 

검색을 해보니 제일 처음 repository를 clone 했을 때(push를 한번도 하지않은 상태에서) git lfs를 설정해주어야한다고 한다. (그런데 처음에 하지 않고 push가 이루어진 후에도 되는 것 같긴하다)

 

순서는 다음가 같다.

1. Github에서 Repository 생성

2. SourceTree에서 Clone

3. SourceTree 탭에서 Repository -> Git LFS -> Initialise Repository

4. Start Using Git LFS

- Start Using Git LFS는 cmd에서 해당 디렉토리에서 git lfs install 을 하는 거와 같다. (아래 참조)

git lfs install

 

 

 5. 그런 다음 Add를 누르고 LFS를 적용할 파일의 확장자를 *.{확장자} 형식으로 작성하고 OK를 누르면 리스트에 포함되는 것을 확인할 수 있다. 그리고 Track Files를 누르면 해당 확장자에 대해서 Git LFS가 적용된다. 

- 여기서 확장자를 추가해주는거는 cmd에서 해당 디렉토리에서 gif lfs track "*.{확장자}" 를 해주는 것과 동일하다.

git lfs track "*.{확장자}"

 

Track Files까지 완료했으면 해당 프로젝트 디렉토리에 .gitattributes 가 생긴것을 확인할 수 있다. 열어보면 LFS를 적용하려고 작성했던 확장자를 확인할 수 있다.

 

 

그런데 큰 용량이면 LFS가 무한정 다 처리해줄 수 있을 줄로만 알았었지만 Github에서 LFS의 용량을 매달마다 제한을 하고 있는 듯하다. 

Github 홈페이지에서 본인 계정에 Settings -> Billing & Plans 에 가보면 현재 본인 계정에서 쓰이고 있는 LFS 용량이 확인 가능하고 무료로는 한달에 1GB 까지만 가능하다고 한다. 

나는 최근에 팀프로젝트를 하면서 용량이 조금 클것같다고 생각되는 확장자는 다 lfs 리스트에 넣어버렸는데 그게 오히려 LFS 제한 용량을 차지하게 되어버려서 1GB 가 넘어버렸다. 그래서 SourceTree에서 push를 하려고하면 다음과 같은 에러가 계속 떴다

batch response: this repository is over its data quota. account responsible for lfs bandwidth should purchase more data packs to restore access.

그래서 LFS를 설정할 확장자도 잘 고려해서 선택적으로 해야 LFS를 유용하게 적용할 수 있을 듯하다.