Unity Secen은 text editor로 열어보면 이해하기 힘든 id들과 값들로 이루어져있어서 사실상 수동 머지가 불가능하다는 것을 느꼈다. 같이 작업만 하면 백발백중 complict인데 도대체 어떻게 개발하지? 하다가
개발자끼리 Secen을 분리해서 서로 다른 Secen을 작업하면 좋겠지만, 피치못할 때가 있지 않은가!
다행히 Unity는 UnityYAMLMerge를 이용해서 scene과 prefab 파일을 머지할 수 있게 제공해주고 있다...
https://docs.unity3d.com/2021.2/Documentation/Manual/SmartMerge.html
설명이 좀 더 친절한 아래의 글도 참고하자
https://github.com/anacat/unity-mergetool
세팅하는 게 좀 귀찮긴 한데 그래도 효과가 대단하니 할만하다.
1. 본인 pc의 "UnityYAMLMerge.exe " 위치를 확인해서 유니티 프로젝트의 .git>config 파일에 아래와 같이 추가해주면 된다. 새로운 유니티 프로젝트를 생성할 때마다 이 작업을 해야 한다는 것은 귀찮긴 하다.
[merge]
tool = unityyamlmerge
[mergetool "unityyamlmerge"]
trustExitCode = false
cmd = 'C:\\Program Files\\Unity\\Hub\\Editor\\2021.1.14f1\\Editor\\Data\\Tools\\UnityYAMLMerge.exe' merge -p "$BASE" "$REMOTE" "$LOCAL" "$MERGED"
2. 유니티 에디터에서도 설정을 확인해줘야 하는데 확인해보니깐 디폴트 값이었는지, 난 수정할 필요는 없었다.
유니티 에디터의 Settings> Editor에서 아래 두 개 값의 설정을 확인하면 된다.
- Version Control mode : Visible Meta Files
- Asset Serialization mode : Force Text
그리고 실전이다.
git을 이용해서 merge 하다가 comflict 발생하는 상태에서 git bash를 열어서 아래의 명령어를 입력한다.
> git mergetool
만약 이것으로 성공적으로 merge 되지 않는다면.... 결국 또 수동 머지다...;-;
'SW Programming > 형상관리' 카테고리의 다른 글
슬랙에서 깃헙 푸시 알람받기 (0) | 2022.08.17 |
---|---|
안드로이드 스튜디오(android studio)에서 깃헙(git) 계정 바꾸기 (0) | 2022.07.26 |
GIT 히스토리까지 모조리 새로운 저장소로 복사하기 (clone --mirror) (0) | 2021.06.17 |
GIT 다른 저장소에 있는 소스코드 합쳐서 하나의 저장소로 관리하기 (0) | 2020.05.11 |
git cherry-pick으로 특정 commit 머지하기, cherry-pick 옵션 (0) | 2019.10.28 |
댓글