● Git이 무조건 공짜로 제공해주지는 않는다.
이전에 Git LFS를 이용한 대용량 파일 공유를 적은 적이 있다. 이 글만 보면 Git LFS만 보면 무조건 대용량 파일을 공유가 가능할 것 처럼 보이지만 그렇지 않다.
Git LFS문서를 보면 무료로 이용시 파일 크기를 2GB로 제한한다. 또한 Git LFS 청구 문서를 보면 대역폭 및 저장소 사용량을 10GiB로 제한한다. 문서의 내용을 인용하자면 대역폭과 저장소 사용량 계산 예시는 다음과 같다.
- Git LFS에 500MB 파일을 푸시하면, 리포지토리 소유자의 스토리지 500MB를 사용하고 대역폭은 전혀 사용하지 않습니다. 1바이트 변경을 수행하고 파일을 다시 푸시하는 경우 또 다른 500MB의 스토리지를 사용하고 대역폭은 사용하지 않으므로 이 두 푸시에 대한 총 사용량은 스토리지 1GB와 대역폭 0이 됩니다.
- Git LFS로 추적되는 500MB 파일을 다운로드하는 경우, 리포지토리 소유자의 대역폭 중 500MB를 사용하게 됩니다. 협력자가 파일 변경을 푸시하고 새 버전을 로컬 리포지토리로 끌어오면 500MB의 대역폭을 추가로 사용하여 이 두 다운로드의 총 사용량은 1GB의 대역폭이 됩니다.
- GitHub Actions가 Git LFS로 추적되는 500MB 파일을 다운로드하는 경우, 리포지토리 소유자의 대역폭 중 500MB를 사용하게 됩니다.
즉, 파일을 Push하거나 Push된 파일의 수정에 대해서는 저장소 사용량으로 계산한다. 그리고 이 파일을 Pull하여 받을 경우 대역폭으로 계산한다. 업로드/다운로드라고 생각한다면 업로드에는 저장소 사용량을, 다운로드에는 대역폭을 사용하는 셈이다.
다만 이 제한은 평생 누적되지 않고 월마다 초기화된다. 그래서인지 소규모로 간단한 게임을 만드는 경우에는 크게 와닿지 않는 제한이라서 인디 게임 개발자가 Git hub를 많이 좋아하는 모양이다. 하지만 어느정도 규모가 클 경우 유료 플랜을 고려해야 한다.
● 사용량 확인하기


Git Hub에 들어가서 Settings에 들어간다. 거기서 왼쪽 메뉴를 잘 보면 Billing and licensing 항목이 있다. 여기서 Overview를 누르면 현재 플랜, 사용량 등 요약 페이지가 나온다.

그 페이지에서 Metered usage부분이 있는데 Git Hub 서비스를 이용하면서 발생한 요금을 알 수 있다. 그 중에서 Git LFS를 누르면 Git LFS 사용에 대한 현재 요금을 알 수 있다.
나같은 경우, 0.03달러가 발생했지만 전액 할인이 적용되어 최종 금액에 0달러로 표기된다. 바로 오른쪽을 보면 알겠지만 대역폭(bandwidth)과 저장소(storage) 사용량이 아직 10GiB에 도달하지 않았기 때문이다.
● 다른 사람과 작업시 저장소 사용량을 줄이는 방법
위 대역폭 및 저장소 사용량 계산은 오로지 Git Hub를 이용한 Pull/Push에서 발생한다. 다르게 생각한다면 Git Hub를 이용하지 않는 공유라면 당연히 포함하지 않는다. 다른 웹하드를 이용한다던지, 가까운 거리라면 직접 플래시 메모리에 담아 넘길 수도 있다.
어쨌든 Git Hub을 통하지 않고 파일 공유가 가능하다면 다음과 같은 방법으로 Git LFS의 저장소 사용량을 줄일 수 있다. (프로젝트 진행 도중에 새로운 대용량 파일을 추가하지 않는다고 가정한다.)
- 저장소의 주인인 사람은 프로젝트에 필요한 모든 파일을 저장소에 Push한다.
- 로컬에 저장된 파일을 협업자에게 넘긴다.
- 파일을 넘겨받은 사람은 자신의 로컬 위치에 저장한다.
- Git Hub에 연결하고 'Fetch'를 한다.

이렇게 하면 처음에 올린 경우에만 저장소 용량을 사용하지만 Pull을 하지 않을 것이니 대역폭을 보다 적게 사용할 것이다. (로컬에서 브랜치 체크아웃을 하기 위해 파일 정보를 받아야 하니 아예 안쓰는건 아님에 유의하자)
언리얼 엔진 프로젝트라면 다음과 같이 진행할 것이다.

- Git Hub에서 자동으로 생성하는 gitignore을 보면 알겠지만 Config, Content, Source폴더가 필요하다. 여기에 uproject파일도 필요하다.
- 다른 사람에게 공유할 경우 위 폴더, 파일과 함께 .git폴더, .gitignore 파일, .gitattributes파일도 같이 넘겨야 한다.
- 공유 받은 사람은 모두 같은 폴더에 저장하고 그 폴더를 Git 클라이언트에서 찾는다.
- 찾은 폴더에서 Fetch 명령을 통해 동기화 한다.
'기타 학습, 과제' 카테고리의 다른 글
| 소울라이크 팀 프로젝트 Desecration : 설계 (1) (1) | 2026.02.02 |
|---|---|
| GitHub에서 LFS을 통한 Pull, 병합시 발생한 문제 (0) | 2026.01.22 |
| 내일배움캠프 CH3 KPT회고 (0) | 2025.11.12 |
| GitHub 이용시 대용량 파일을 공유해야 한다면 (1) | 2025.09.26 |
| [내일배움캠프] 최고의 VCS, Git을 사용해보자 (1) | 2025.08.22 |