티스토리 뷰
SourceTree 사용시 같은 씬을 수정할때 씬 충돌이 발생할 경우가 많다.
이때 Scene의 경우 YAML 파일이므로 개발자가 직접 보면서 수정하기는 쉽지 않다.
Unity에서 제공하는 UnityYAMLMerge 툴을 이용해 쉽게 Scene, Prefab의 충돌에 대해 Merge해줄수 있다.
툴의 위치는 Unity\Editor\Data\Tools 에 있다. 경로를 복사해두자.
테스트를 위해 master브랜치와 testBranch를 만들고 각각 씬을 따로 편집하였다.
씬은 master 와 testBranch 로 나누었으며, Remote에는 master 브랜치만 push한 상태이다.
master 브랜치 작업내용
testBranch 작업내용
소스트리의 도구 - 옵션 - 비교에 외부 비교 / 병합을 아래와 같이 설정해준다.
병합 도구는 커스텀
병합 명령어에 UnityYAMLMerge.exe 경로, 변수에는
merge -p $BASE $REMOTE $LOCAL $MERGED
를 추가한다.
관련내용은 https://docs.unity3d.com/Manual/SmartMerge.html 를 살펴보자
이제 testBranch 브랜치에서 Remote에 있는 master 브랜치를 pull 받으려고 하면 예상했듯이 충돌발생!!!
충돌난 파일의 충돌해결 - 외부 병합 툴 시작을 누른다.
UnityYAMLMerge 툴이 자동으로 Merge해준다.
깔끔하게 Master와 testBranch 브랜치의 작업내용이 Merge되었다!
[참고자료]
https://www.youtube.com/watch?v=yQvbaBgxA34
https://docs.unity3d.com/Manual/SmartMerge.html
'Unity' 카테고리의 다른 글
Simple State Machine Update 2020.01.13 (0) | 2020.01.13 |
---|---|
GPU Video Player (1) | 2020.01.09 |
Simple StateMachine (0) | 2019.12.26 |
Tag를 Unity Editor가 열렸을때 자동 추가 (0) | 2019.12.24 |
Unity 인스펙터에서 Array 속성의 Element Name 변경 (0) | 2018.12.05 |