● GitHub은 웹하드가 아니다

언리얼 엔진으로 게임을 만들면 반드시 따라오는 문제가 있다. 3D게임에서 사용하는 3D모델이라든지, 특히 모델에 입히는 텍스쳐 파일은 그 용량이 큰 편이다. 그리고 그러한 파일은 한두개가 아닐 것이다. GitHub문서에 따르면 한 번에 50MiB 이상 추가하거나 업데이트 하려고 하면 경고가 발생하며 100MiB 이상은 차단한다고 하니 고용량 에셋은 함부로 올릴 수 없다. GitHub는 어디까지나 Gitt 사용자를 위한 버전 관리용 서버 호스팅을 담당하지, 파일을 공유하는 웹하드가 목적인 서비스가 아니다. 이러한 문제 때문에 언리얼 엔진을 위한 버전 관리 서비스로 Plastic이 추천되고 있다.
● 하지만 Git LFS라는 방법이 있다.
언리얼, 유니티 등 요즘 게임을 개발하는 환경에서 사용되는 에셋 용량은 큰 편이다. 그렇다보니 자주 사용되는 Git을 통해 대용량 파일을 공유할 수 밖에 없는데, 이것은 대용량 공유를 차단하는 GitHub의 정책과 충돌한다.
다행히도 이러한 GitHub 정책을 피하면서 대용량 파일을 GitHub을 통해 공유 및 버전관리를 하는 방법이 있다. 파일 데이터 자체는 대용량 파일용 저장소에 따로 저장해두고 GitHub에는 그 파일의 주소만 저장하게 만들면 GitHub의 대용량 업데이트 및 추가를 차단하는 정책을 피하면서 안전하게 대용량 파일을 올리고 받을 수 있다. 이 방법은 이미 Git LFS라는 이름으로 제공되고 있다.
● Git LFS 사용해보기
여기서는 SourceTree를 사용할때 쓰는 방법이다. 다만 다른 Git 클라이언트를 쓴다고 크게 다르진 않을 것이다.

대용량 파일이 있는 로컬 저장소에서, 화면 오른쪽 위에 있는 터미널을 누르면 콘솔 화면처럼 생긴 터미널 화면이 열릴 것이다.

처음 사용한다면 git lfs install 이라고 입력해보자. 잠시 기다렸다가 Updated Git hooks., Git LFS initialized.라는 문구가 뜬다면 Git LFS 설치가 완료된 것이다.


설치가 완료된 후에 git lfs track "*.uasset"라고 입력해보자. 이는 언리얼 엔진에서 에셋을 관리할 때 쓰는 확장자인 .uasset파일에 대해서 Git LFS를 적용하겠다는 의미다. 만약 대용량 파일의 확장자가 다르다면 그에 맞게 확장자명을 바꾸자. 그리고 확장자명은 1개만 쓰라는 법은 없으니 여러 종류가 있다면 그에 맞게 추가로 입력하면 된다.

그리고 저장소 폴더를 열어보자. .gitattributes 파일이 생겼을 것이고 이 안에 Git LFS를 적용할 조건이 적혀있을 것이다. 만약 다른 프로젝트에서 동일한 확장자명이 대용량일경우 이 파일을 복사하여 쓰면 동일하게 적용된다.


이 상태에서 커밋 및 푸쉬를 하기만 한다면 성공이다. 커밋한 파일의 내용을 보면 파일 내용 대신 Git LFS 정보가 적혀있을 것이다. 참고로 이미지 등과 같이 텍스트가 아닌 파일을 Git LFS을 적용하지 않고 그냥 올리면 파일 내용을 보여주지 않는다.
'기타 학습, 과제' 카테고리의 다른 글
| 소울라이크 팀 프로젝트 Desecration : 설계 (1) (1) | 2026.02.02 |
|---|---|
| GitHub에서 LFS을 통한 Pull, 병합시 발생한 문제 (0) | 2026.01.22 |
| 내일배움캠프 CH3 KPT회고 (0) | 2025.11.12 |
| Git LFS로 작업을 공유할 때 주의 사항 (0) | 2025.10.22 |
| [내일배움캠프] 최고의 VCS, Git을 사용해보자 (1) | 2025.08.22 |