Git Large File Storage

고급 Git

Amanda Crawford-Adamo

Software and Data Engineer

Git Large File System이란?

Git LFS 명령:

git lfs
  • Git LFS: Git Large File Storage
  • 리포지토리의 대용량 파일을 대체
  • 작은 포인터 파일 사용
  • 대용량 파일은 리포지토리와 분리 저장

이점:

  1. 리포지토리 크기 축소
  2. 더 빠른 클론/패치
  3. 바이너리 파일 효율적 처리
  4. 대용량 파일 협업 개선
고급 Git

Git LFS 초기화 과정

  • Git LFS 초기화

    git lfs install
    
  • 추적할 파일 설정 및 .gitattributes 생성

    git lfs track "*.csv"
    
  • 추적 설정이 담긴 .gitattributes를 인덱스에 추가

    git add .gitattributes
    
  • 변경 사항 커밋
    git commit -m "Track CSV files"
    

올라온 파일이 보이는 파일 캐비닛 GIF

고급 Git

Git LFS 업데이트 과정

  1. git add로 새 파일 추가
    git add large_file.csv
    
  2. 커밋하고 푸시
    git commit -m "Update large CSV file"
    git push origin main
    
  3. 변경 사항 내려받기
    git pull
    git lfs pull  # LFS 콘텐츠를 명시적으로 받는 경우
    
고급 Git

Git LFS 사용 시기

사용 시기:

  1. 대규모 데이터셋(CSV, JSON 등) 변경 이력 필요
  2. 머신러닝 모델
  3. 바이너리 에셋(이미지, 동영상)
  4. 압축/설치 파일 버전 관리

비사용 시기:

  1. 드물게 업데이트되는 대용량 파일
  2. 코드처럼 작은 텍스트 파일
  3. 저장 용량이 매우 제한적일 때
고급 Git

모범 사례

  1. 대용량 파일 효율적 관리
  2. 데이터 중심 프로젝트 협업 개선
  3. Git 워크플로와 원활한 통합

팁:

  1. 추적 대상을 선별하세요
  2. 팀에 LFS 사용을 공유하세요
  3. LFS 캐시를 주기적으로 정리하세요
고급 Git

연습해 봅시다!

고급 Git

Preparing Video For Download...