Unity YAMLMerge

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

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개의 댓글