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"
저는 외부 툴 뿐만 아니라 기본 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