UnityYAMLMerge로 씬·프리팹 충돌 해결하기
Scene이나 Prefab 파일 변경으로 충돌이 나면 git bash나 IDE가 기본 제공하는 병합 도구로는 해결하기 어렵다. Unity에 포함된 외부 병합 도구인 UnityYAMLMerge를 쓰면 된다.
실행 파일 위치: C:\Program Files\Unity\Hub\Editor\<유니티 버전>\Editor\Data\Tools
.gitconfig또는 저장소.git폴더의config파일을 열어 다음을 추가한다.
[merge] tool = unityyamlmerge
[mergetool "unityyamlmerge"] trustExitCode = false cmd = '<path to UnityYAMLMerge>' merge -p "$BASE" "$REMOTE" "$LOCAL" "$MERGED"- 사용하는 Git 클라이언트의 외부 병합 도구를 설정한다. Fork는 File → Preferences에 있다.
외부 도구뿐 아니라 기본 MergeTool도 UnityYAMLMerge로 설정했다.
씬·프리팹 병합에서는 오브젝트 이름 m_Name을 단서로 충돌한 오브젝트를 구분한다.
UnityYAMLMerge가 해결하지 못하는 충돌은 Meld를 설치해 UnityYAMLMerge의 fallback으로 설정하면 diff를 확인할 수 있다.