Git LFS의 스토리지 용량을 다이어트하는 방법

여러분 Git LFS (Git Large File Storage) 사용하고 있습니까? 거대한 바이너리 파일을 포함한 리포지토리는 Git 조작 전반이 무거워지기 쉽기 때문에, Git LFS 등장시는 구세주처럼 보였지만, 당초의 예상보다 보급되어 있지 않은 것이 현상이 아닐까요.

이마이치 보급되어 있지 않은 원인으로서, 기억하는 것이 늘어나거나 clone 그 외가 의외로 느린 등 여러가지일까 생각합니다. 게다가 개인 수준에서는 지갑에 부드럽지 않은 것도 보급을 방해하고 있을지도 모릅니다. 아래에 GitHub · BitBucket에서 Git LFS 이용 요금을 정리해 보았습니다.



GitHub
BitBucket


무료 테두리
스토리지 1GB/월 내리기 전송량 1GB/월
스토리지 1GB/월 전송량 제한 없음

유료 플랜
$5/월(추가 스토리지 50GB·하향 전송량 50GB)
$10/월(추가 스토리지 100GB)


큰 바이너리 파일을 취급하고 싶기 때문에 Git LFS를 사용하고 싶은데 무료 프레임 1GB와는 쇼보 너무 아닐까요…라고 생각하지 않아도 없습니다.

Git LFS 용량 다이어트



Git LFS는 관리되는 바이너리 파일의 모든 기록을 저장합니다. 즉, LFS 관리하에 100MB의 파일을 10회 업데이트하면 Git LFS 스토리지를 1GB 소모하여 무료 프레임을 다 사용하게 됩니다. 이것은 장기 프로젝트가 될수록 오래된 바이너리 파일 이력에 의한 과금이 늘어나게 될지도 모릅니다.

프로젝트에 따라서는 일정 이상 낡은 바이너리 파일은 불필요한 일도 있으므로, 이것을 삭제해 조금이라도 과금액이 줄일 수 있으면 좋겠지요. 그러나 Git LFS는 원격 리포지토리의 파일을 지우는 통합 인터페이스를 제공하지 않으며 각 서비스 운영자의 구현에 의존합니다.

GitHub · BitBucket에 대해서는 다음과 같은 대응 상황입니다.

GitHub의 경우



GitHub는 개별적으로 Git LFS 기록을 지우는 방법을 제공하지 않는 것 같습니다. 유일한 Git LFS 스토리지 용량을 줄이는 방법은 리포지토리별로 삭제하는 것입니다.

수중에 bare 리포지토리를 확보한 후, 자정 이른 아침 등에 GitHub상의 리포지토리를 삭제·재작성해 BFG Repo-Cleaner 멤버 전원이 clone에서 다시 시작되기 때문에 귀찮은 것은 틀림없을 것입니다.

BitBucket의 경우



BitBucket에서는 Git LFS 관리 파일을 개별적으로 지우는 웹 인터페이스가 제공되고 있다고 합니다. 치마치마 지우면 다소 연명할 수 있을 것 같네요.



(「 Git LFS - 대형 파일 저장 | Atlassian Git Tutorial 」에서 인용)

참고 URL


  • About storage and bandwidth usage - User Documentation
  • Bitbucket - 가격 | Atlassian
  • Removing files from Git Large File Storage - User Documentation
  • Git LFS - 대형 파일 저장 | Atlassian Git Tutorial
  • BitBucket의 계획 개정으로 LFS 용량이 10GB에서 1GB가 된 이야기 - 카세 노트.
  • 좋은 웹페이지 즐겨찾기