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 를 사용하는 것과 똑같다.
- repository 만들기
- settings 에서 Git LFS 활성화(bit-bucket 인 경우)
- 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
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 을 다루는데는 확실히 빠르고, 간편하다.
댓글 없음:
댓글 쓰기