Git으로 프로젝트를 관리하다 보면 대용량 파일 때문에 당황한 적 있으시죠? 리포지토리가 느려지고, 협업이 힘들어지고, 결국 불필요한 스트레스까지 따라오곤 합니다. 오늘은 이런 문제를 해결해 줄 LFS (Large File Storage)에 대해 깊이 알아보겠습니다. GitHub과 GitLab에서 LFS를 활용해 대용량 파일을 스마트하게 관리하는 방법을 살펴볼게요!
1. LFS란 무엇인가?
LFS는 Large File Storage의 약자입니다. 간단히 말해, Git 저장소 안에 대용량 파일을 직접 저장하지 않고, 파일의 위치를 나타내는 포인터만 저장하는 방식입니다. 대용량 파일은 별도의 스토리지에 보관되죠.
이런 방식을 통해 Git 저장소의 크기를 효과적으로 줄이고 작업 속도를 개선할 수 있습니다.
주요 기능
- 대용량 파일 외부 저장: Git 저장소의 크기를 줄이고, 더 나은 성능을 제공합니다.
- 이진 파일 버전 관리: 이미지, 동영상, CAD 파일 같은 이진 파일도 Git의 버전 관리 혜택을 누릴 수 있습니다.
- Git 작업 속도 개선: clone, fetch, pull 작업이 훨씬 빨라집니다.
2. GitHub과 GitLab에서의 LFS 비교
두 플랫폼 모두 LFS를 지원하지만, 아래와 같은 차이점이 있습니다.
특징 | GitHub | GitLab |
용량 제한 | Free: 1GB, Pro: 2GB | Free: 1GB |
활성화 방법 | 저장소 설정에서 수동으로 활성화 필요 | 기본적으로 활성화됨 |
사용 UI/UX | 별도의 LFS 관리 UI 제공 | 일반 파일처럼 관리 가능 |
💡 팁: GitHub의 LFS는 명시적으로 활성화해야 하므로 저장소 설정을 확인하세요. 반면 GitLab은 기본적으로 활성화되어 있어 더 간편합니다.
3. LFS 사용법
GitHub과 GitLab에서 LFS를 사용하는 방법은 동일합니다. 아래 단계들을 차례대로 따라 하세요.
3.1 LFS 설치하기
LFS를 사용하려면 먼저 로컬 Git에 LFS를 설치해야 합니다.
git lfs install
3.2 추적할 파일 지정하기
대용량 파일을 추적하려면 아래 명령어를 사용합니다. 예를 들어, .psd 파일을 LFS로 관리하려면:
git lfs track "*.psd"
3.3 .gitattributes 커밋하기
LFS로 관리할 파일 목록이 .gitattributes 파일에 기록됩니다. 이 파일도 리포지토리에 커밋해야 합니다.
git add .gitattributes
git commit -m "LFS 설정 추가"
3.4 대용량 파일 추가 및 푸시하기
이제 평소처럼 Git 명령어를 사용하면 됩니다.
git add my-large-file.psd
git commit -m "대용량 파일 추가"
git push origin main
⚠️ 주의: GitHub/GitLab LFS의 저장소 제한 용량을 초과하지 않도록 항상 확인하세요.
4. LFS 활용 시 주의할 점
- 용량 관리:
LFS 저장소는 제한된 용량을 제공합니다. 파일 크기와 개수를 신중히 관리하세요. - 필요한 파일만 LFS로 관리:
모든 파일을 LFS로 관리할 필요는 없습니다. 대용량 파일 또는 자주 업데이트되는 이진 파일에만 적용하세요. - 마이그레이션 문제:
GitHub에서 GitLab으로(또는 그 반대) 프로젝트를 옮길 때 LFS 파일도 별도로 이관해야 합니다.
아래 명령어를 사용해 LFS 파일을 다운로드할 수 있습니다: - git lfs fetch --all
5. LFS 활용의 장점
LFS를 사용하면 다음과 같은 이점을 얻을 수 있습니다:
- 프로젝트 관리 효율성 증가: 대용량 파일로 인해 저장소가 커지는 문제를 방지할 수 있습니다.
- 협업 생산성 향상: 팀원이 보다 빠르게 저장소를 clone하거나 pull할 수 있습니다.
- 더 깔끔한 버전 관리: 이진 파일도 Git으로 쉽게 관리 가능해집니다.
유용한 Git LFS 리소스 모음
- Git LFS 공식 문서
LFS의 기본 원리와 사용법을 자세히 설명합니다. 공식 문서 링크 - GitHub LFS 가이드
GitHub에서 LFS를 설정하고 사용하는 방법을 다룹니다. GitHub 가이드 링크 - GitLab LFS 가이드
GitLab에서의 LFS 설정 및 사용 방법을 알려줍니다. GitLab 가이드 링크 - Git LFS 치트 시트
LFS와 관련된 명령어를 간단히 정리한 치트 시트입니다. 치트 시트 링크 - Stack Overflow Git LFS 관련 질문
실무에서 마주할 수 있는 다양한 문제와 해결책을 찾아볼 수 있습니다. Stack Overflow 질문 모음
'개발 이야기 > 기타' 카테고리의 다른 글
다양한 운영체제에서 SHA-256 해시 계산하는 방법 정리 (0) | 2024.12.12 |
---|---|
리눅스 텍스트 검색의 핵심, grep 가이드: 기초부터 고급 활용까지 (0) | 2024.12.10 |
리눅스 아카이빙의 기본기, tar 가이드: 기초 문법부터 고급 활용까지 (0) | 2024.12.10 |
Docker Compose: 복잡한 애플리케이션도 간단하게! (0) | 2024.12.06 |
Docker 이미지와 tar 파일: 내보내기와 가져오기 완전 정복! (1) | 2024.12.06 |