Unity YAMLMerge

vvhustle's coding note·2022년 11월 22일

Scene이나 Prefab 파일의 변경으로 인해 충돌이 일어난 경우 git bash나 IDE 등이 기본 제공하는 merge Tool로는 해결이 안되므로 External Manager인 Unity에 있는 YAMLMerge로 해결하면 됩니다.

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

1..git폴더의 .gitconfig 혹은 config 파일을 열어 텍스트를 추가합니다.

[merge]
    tool = unityyamlmerge

    [mergetool "unityyamlmerge"]
    trustExitCode = false
    cmd = '<path to UnityYAMLMerge>' merge -p "$BASE" "$REMOTE" "$LOCAL" "$MERGED"
  1. 사용하고 있는 git IDE의 외부 병합 도구를 설정합니다.
    (fork의 경우 file - preference)에 있습니다.

저는 외부 툴 뿐만 아니라 기본 MergeTool도 YAMLMerge로 설정했습니다.

정상적으로 설정 완료되면 아래와 같이 나타납니다. 

사실상 Merge하기 쉽지 않습니다만, 그나마 오브젝트의 이름 m_Name을 활용한다면 머지 작업이 좀 더 수월해질 수 있습니다.

기타. 위와 같이 merge Tool인 UnityYAMLMerge가 해결못하는 충돌은 https://meldmerge.org/을 설치하고 UnityYAMLMerge의 fallback으로 설정해주면 diff를 확인할 수 있습니다.

레퍼런스 : https://docs.unity3d.com/kr/2021.1/Manual/SmartMerge.html

소스트리로 세팅하는 방법이 궁금하거나 설명이 부족하다면 링크 참고해주세요 : https://www.oooooroblog.com/posts/31-unityyamlmerge

0개의 댓글