언리얼의 바이너리 파일들 Git LFS로 저장하기
언리얼 바이너리 파일들(ex .uasset, .umap)은 Git으로 해도 잘 동작하는 것으로 보일 수 있다. 하지만, Git은 텍스트 파일의 변경 내역을 추적하는 기능이 있다. 따라서 바이너리 파일을 Git으로 사용하게 될 경우 바이너리 파일의 변경내역을 불필요하게 관리하게 되어 추적 용량 증가 및 성능 저하 문제가 발생할 수 있다.
따라서 언리얼 프로젝트의 형상 관리 툴이 Git이라면 Git LFS로 바이너리를 관리할 것을 적극 권장한다.
설정 방법
- 프로젝트 디렉토리( .git 이 있는 디렉터리)에서 아래의 명령어로 LFS 설치
git lfs install
- (이미 git에 추가된 바이너리가 있는경우) 아래의 명령어로 git에 추적 중인 바이너리 제거
git rm --cached [경로] # ex. git rm --cached *.umap
- gitattributes 파일에 LFS로 관리할 파일 확장자 추가. (.gitattributes 내용 출처: 언리얼 개발자 커뮤니티)
# UE file types *.uasset filter=lfs diff=lfs merge=lfs -text *.umap filter=lfs diff=lfs merge=lfs -text # Raw Content types *.fbx filter=lfs diff=lfs merge=lfs -text *.3ds filter=lfs diff=lfs merge=lfs -text *.psd filter=lfs diff=lfs merge=lfs -text *.png filter=lfs diff=lfs merge=lfs -text *.mp3 filter=lfs diff=lfs merge=lfs -text *.wav filter=lfs diff=lfs merge=lfs -text *.xcf filter=lfs diff=lfs merge=lfs -text *.jpg filter=lfs diff=lfs merge=lfs -text *.uexp filter=lfs diff=lfs merge=lfs -text *.bank filter=lfs diff=lfs merge=lfs -text *.tmp filter=lfs diff=lfs merge=lfs -text *.vox filter=lfs diff=lfs merge=lfs -text # Libraries and executables *.a filter=lfs diff=lfs merge=lfs -text *.lib filter=lfs diff=lfs merge=lfs -text *.exe filter=lfs diff=lfs merge=lfs -text *.zip filter=lfs diff=lfs merge=lfs -text
- 변경 사항 커밋. 정상 적용된 경우 github에서 아래와 같이 Git LFS로 저장됨을 확인 가능