콘텐츠로 이동

UnityYAMLMerge로 씬·프리팹 충돌 해결하기

Scene이나 Prefab 파일 변경으로 충돌이 나면 git bash나 IDE가 기본 제공하는 병합 도구로는 해결하기 어렵다. Unity에 포함된 외부 병합 도구인 UnityYAMLMerge를 쓰면 된다.

실행 파일 위치: C:\Program Files\Unity\Hub\Editor\<유니티 버전>\Editor\Data\Tools

  1. .gitconfig 또는 저장소 .git 폴더의 config 파일을 열어 다음을 추가한다.
[merge]
tool = unityyamlmerge
[mergetool "unityyamlmerge"]
trustExitCode = false
cmd = '<path to UnityYAMLMerge>' merge -p "$BASE" "$REMOTE" "$LOCAL" "$MERGED"
  1. 사용하는 Git 클라이언트의 외부 병합 도구를 설정한다. Fork는 File → Preferences에 있다.

외부 도구뿐 아니라 기본 MergeTool도 UnityYAMLMerge로 설정했다.

씬·프리팹 병합에서는 오브젝트 이름 m_Name을 단서로 충돌한 오브젝트를 구분한다.

UnityYAMLMerge가 해결하지 못하는 충돌은 Meld를 설치해 UnityYAMLMerge의 fallback으로 설정하면 diff를 확인할 수 있다.