본문으로 바로가기

언리얼의 바이너리 파일들 Git LFS로 저장하기

언리얼 바이너리 파일들(ex .uasset, .umap)은 Git으로 해도 잘 동작하는 것으로 보일 수 있다. 하지만, Git은 텍스트 파일의 변경 내역을 추적하는 기능이 있다. 따라서 바이너리 파일을 Git으로 사용하게 될 경우 바이너리 파일의 변경내역을 불필요하게 관리하게 되어 추적 용량 증가 및 성능 저하 문제가 발생할 수 있다.

 

따라서 언리얼 프로젝트의 형상 관리 툴이 Git이라면 Git LFS로 바이너리를 관리할 것을 적극 권장한다.

설정 방법

  1. 프로젝트 디렉토리( .git 이 있는 디렉터리)에서 아래의 명령어로 LFS 설치
    git lfs install
  2. (이미 git에 추가된 바이너리가 있는경우) 아래의 명령어로 git에 추적 중인 바이너리 제거
    git rm --cached [경로]
    # ex. git rm --cached *.umap
  3. 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
  4. 변경 사항 커밋. 정상 적용된 경우 github에서 아래와 같이 Git LFS로 저장됨을 확인 가능