GitHub에서 대용량 파일 경고 해결 방법: Git LFS 사용 경험
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
개발 툴
대상자
- 대상자: 대용량 파일을 Git으로 관리하는 개발자, 프로젝트 관리자
- 난이도: 중간 (Git LFS 설치 및 구성 기본 지식 필요)
핵심 요약
- Git LFS는 별도 설치가 필요 :
git lfs install
명령어 사용 (기본 Git에 포함되지 않음) - 대용량 파일 처리 방법 :
.gitattributes
파일을 통해*.mp4
파일 패턴을 Git LFS로 등록 - 장단점 인식 필수 :
- 장점: 주 Git 히스토리 가볍게 유지, GitHub 크기 제한 회피
- 단점: LFS 스토리지 용량 제한(1GB 무료), 협업 시 LFS 설치 누락 가능성
섹션별 세부 요약
1. 문제 발생 상황
- GitHub에서
public/hero.mp4
파일 크기 50.96MB 경고 발생 (50MB 제한 초과) - GitHub은 파일을 수락했으나, 향후 더 큰 파일 추가 시 문제가 예상됨
2. Git LFS 설치 과정
- Ubuntu 설치 방법:
curl -s | sudo bash
명령어로 설치 스크립트 실행sudo apt update && sudo apt install git-lfs
명령어로 패키지 설치- 설치 결과:
git-lfs
패키지 설치 (3.9MB), Git LFS 레포지토리 추가
3. Git LFS 구성 및 파일 추가
- 파일 패턴 등록:
git lfs track "*.mp4"
명령어로.gitattributes
파일 생성 및 규칙 추가- 변경사항 커밋:
.gitattributes
파일 추가 및 커밋 (git add .gitattributes
,git commit -m "Configure Git LFS for MP4 files"
)- 대용량 파일 추가:
git add public/hero.mp4
및 커밋으로 LFS를 통해 파일 업로드
4. LFS 사용 시 주의사항 및 한계
- LFS의 한계:
- 주 Git 히스토리에 텍스트 포인터만 남김 (실제 파일은 LFS 스토리지에 저장)
- LFS 스토리지 제한: GitHub 무료 계정 1GB 제한
- 협업 문제: 팀원이 LFS 설치 누락 시 문제 발생 가능성
- 대체 방안 고려:
- 클라우드 스토리지(S3, GCS) 사용
- 파일 압축 또는 외부 호스팅
결론
- 핵심 팁: Git LFS는 대용량 파일 처리에 유용하지만, 장기적 아키텍처 설계 시 대체 방안(클라우드 스토리지, 파일 분리)을 고려해야 함.
- 예제:
.gitattributes
파일에*.mp4 filter=lfs diff=lfs merge=lfs -text
규칙 추가 후 커밋. - 결론: Git LFS는 단기적 대응 솔루션으로, 자원 관리와 협업 효율성을 고려한 설계가 필요.