Git
에셋 파일들이 너무 여기저기 있어서 리타겟팅 작업을 하는데 불편함이 있었다. 이제 에셋들을 한번 정리할 타임. 하지만 Content Browser내에 에셋 파일들을 마음데로 이동 시키다가 자칫 에셋간의 참조가 끊어질 수 있다. 이는 피곤한 상황을 만든다.
게임에 Save, Load 기능이 있는것 처럼 개발도 중간중간 잘 Save했다가 일이 틀어지면 돌아갈 준비를 해야 한다.
이런 기능을해주는 툴들이 있는데 이를 형상 관리 툴 또는 버전관리 시스템(Version Control System) 이라고 불리며 SVN과 Git이 많이 쓰인다. 둘 다 프리웨어다.
이중 Git을 써보자. 아래 링크에서 Git을 받아 설치하자. 설치 메뉴에서 묻는 것들은 그냥 “확인”버튼 게속 누르면 된다.
설치가 완료되면 넘어가자
초기 세팅
만약 언리얼 프로젝트 명이 Umzrak01일때 Umzrak01 파일 탐색기로 폴더로가자
빈곳 우클릭 -> 추가 옵션 표시 -> Git Bash Here

나오는 콘솔창에서 git init

.gitIgnore
만약 언리얼 프로젝트 명이 Umzrak01일때 Umzrak01 폴더 안에 .gitIgnore라는 텍스트 파일을 하나 만들어 아래 텍스트를 복사해 두자.
이는 git이 개발 상황을 save할때 굳이 관리하지 않아도 될 파일을 배제해주는 설정이다.
아래 내용중 Binaries 폴더나 .vs 폴더의 파일 같은건 우리 작업과 상관없이 컴파일러나 비주얼 스튜디오가 동적으로 만들고 지우고 하는 영역
.gitignore for Unreal Engine projects
Ignore the Unreal Engine’s build, intermediate, and binary files
Binaries/
DerivedDataCache/
Saved/
Intermediate/
.vscode/
.vs/
Ignore project-specific files
*.suo
*.user
*.userosscache
*.sln.docstates
Ignore configuration files for specific engines/platforms
*.log
*.dmg
.gitIgnoe 설정 후, 콘솔창에 명령어 git add . 을 넣자
git을 처음 사용하는 경우 사용자 정보(이메일과 ID)를 기입하라는 문구가 나온다. 문구 하단에 기입 명령어가 보인다. 그 두개의 명령어로 해당 정보를 넣고 다시 git add . 명령을 사용하면 된다.
이명령을 사용하고 나니 Umzark01 폴더가 6.64GB 이던게 9.53GB가 됐다.
Git은 미디어 데이터 처리에 약점이 있다. 예를들어 기디언 매시를 조금 바꿔서 파일 내용이 달라지면 바뀐 파일을 따로 통채로 저장해둔다. 이 일이 반복되면 너무 많은 용량을 차지하므로 세이브 포인트의 수를(Commit) 관리해줄 필요가 있다.
관련 내용은 이 블로그에 따로 포스팅 되어있다.
Commit
Git으로 현재 개발 상황을 Save하면 하나의 세이브 포인트가 생긴다 이를 Commit이라고 한다.
아래 명령으로 Commit을 하나 만들자
git commit -m “Init State”

이후 git log 명령을 통해 저장된걸 확인 할 수 있다.

로그에 우리가 남긴 설명글(Init State)과 함께 노란 글로 해당 커밋의 ID(해시값)가 있다. 작업하다 그 시점으로 돌아가고 싶으면
git checkout ab2d7c 정도 명령을 사용하면 된다.
ab2d7c는 Commit ID의 앞부분
그정도 쓰면 git이 어떤 커밋인지 알아채고 그 시점으로 간다.
만약 바꾼 그 Commit의 시점부터 작업을 재개하고 싶다면 브랜치를 만들거나, 이후의 커밋들을 지워버려야 한다. 관련 정보는 따로 포스팅 하겠다 (아니면 GPT 한테 물어보자)
앞으로 작업을 하는 중간중간 Commit을 만들어주자. 훗날이 Commit들이 구세주가 될 날이 반드시 온다.