티스토리 뷰

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
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함