[컴] git-lfs 사용하기

git-lfs 사용법 / git 에서 대용량 파일 사용법 / git 에서 대용량 파일 사용시




git-lfs 사용하기


사용환경


여기서 사용하는 환경은 아래와 같다.
  • Windows
  • tortoise git + git-lfs 사용 : 아쉽게도 현재(2016-08-10)는 tortoise 가 git-lfs 에 대한 gui 를 제공하지 않는 듯 하다.(Support git lfs track command (#2667) · Issues · TortoiseGit / TortoiseGit · GitLab) 그래서 command 를 이용해야 한다.
  • git 1.8.2 이상 버전
  • bitbucket : bitbucket 에서는 beta 이다. 그래서 repository 를 만들고, setting 에서 git LFS 를 활성화 해줘야 한다. github 는 기본적으로 무료가 아니라서 구매를 해야 한다.




시작

일단 대략적인 설명을 하자면, git-lfs 는 git 을 사용하는데, 특정 파일을 대용량 파일이라고 git 이 인식하게 해주는 작업이다.

그러면 git-lfs(glf) 에서 그 파일들은 다른 방식으로 처리한다. 보통 git 의 파일들처럼 repository 에 그 파일을 가지고 있는 것이 아니라, 실제 file 은 다른 storage 에 넣어놓고, 그 file 에 대한 reference 만 가지게 된다.(자세한 내용은 Git Large File Storage - (LFS) 를 참고하자.)

<그냥 git 을 사용하면 안되나?>
이건 확실치 않다. 적어도 github.com 에서는 한 파일의 크기가 100MB 이상을 넘지 못하고, repository 는 1GB 로 제한한다. 넘으면 메일이 온다고 한다.
여튼 그래서 git-lfs 를 사용해야 하는데, github.com 은 무료가 아니다.



시작은 기존의 git repository 를 사용하는 것과 똑같다.
  1. repository 만들기
  2. settings 에서 Git LFS 활성화(bit-bucket 인 경우)
  3. local 에 git repository 만들기



GLFS client 설치

이제 git-lfs 를 사용하기 위해 git-lfs client 를 설치하자. 설치는 간단하다. 아래 경로에서 download 하고, 설치하면 된다.



git lfs install

이제 repository 에 git-lfs 를 사용할 것이라고 알려주는 과정이 필요하다. 이것을 하는 것이 git lfs install 이다.

.github 가 있는 곳에서 cmd 창을 열어서 git lfs install 을 하자.

c:\Users\namh\my-backup>git lfs install
Updated pre-push hook.
Git LFS initialized.

그러면 아래 경로에 lfs 설정 파일이 생성된다.
  • c:\Users\<user_name>\.gitconfig
특정 repository 에서 하고 싶다면 --local option 을 사용하자.
c:\Users\namh\my-backup>git lfs install --local

그러면 lfs 설정이 아래 경로에 들어간다.
  • c:\Users\namh\<project>\.git\config



git lfs track

내 repository 의 file 중에 어느것을 git lfs 를 이용할 것인가를 정해주는 과정이다. 이과정은 track 하는 대상을 추가하거나, 변경되는 경우에 항상 해줘야 한다.

tarcking 대상 설정

특정 folder 안의 모든 file 을 설정 해주고 싶다면 아래처럼 '<folder_name>/*' 를 하면 되고, 특정 파일을 설정하고 싶다면 'filename.*', '*.bat' 등을 사용하면 된다.
c:\Users\namh\my-backup>git lfs track 'zip/*'
Tracking 'zip/*'

commit .gitattributes

그러면 .gitattributes 가 생성되고, 이 안에 설정한 내용이 들어간다. 이제 이녀석을 commit 해주자.



이제 그냥 기존의 git 을 사용하던 것처럼 사용하면 된다.




개인적인 생각

현재 bitbucket 의 git-lfs 를 사용하는데, 일단 upload 속도가 느리다.

확실히 source 와 연관된 큰 사이즈 file 이 있거나, version 관리가 필요하다면, 어쩔 수 없이 사용해야 겠지만, 그것이 아닌 단순 backup 용도로는 적절치 않다고 생각한다. 그런 용도라면 차라리 n-drive 같은 cloud storage가 일반적인 file 을 다루는데는 확실히 빠르고, 간편하다.




Reference

  1. Use Git LFS with Bitbucket - Atlassian Documentation

댓글 없음:

댓글 쓰기