-스크립트 충돌시
해당 스크립트를 열어서 병합 편집기를 연다
충돌난곳에 모두 체크표시를 한다
한개를 빼야한다면 해당코드에 체크해제를 누른다
병합 수락을 누른다
깃헙데스크톱에서 누른다
머지를 누른다
끗
-씬 충돌시
-구버전
https://docs.unity3d.com/Manual/SmartMerge.html
한쪽에서 스피어를 추가한후에 받는쪽에서 큐브를 추가하고 머지충돌이 난 상태다
1번
2번
Abort merge를 눌러 빠져나간다
해당 프로젝트 폴더를 연다
[merge]
tool = unityyamlmerge
[mergetool "unityyamlmerge"]
trustExitCode = false
cmd = 'C:\\Program Files\\Unity\\Editor\\Data\\Tools\\UnityYAMLMerge.exe' merge -p "$BASE" "$REMOTE" "$LOCAL" "$MERGED"
해당 위치에서 git config를 열어서 위 내용을 추가해준다
https://docs.unity3d.com/Manual/SmartMerge.html
여기에 원본코드가 있고 cmd에서 git config -E를 쳐서 수정해줘도 된다.
난 cmd가 안 익숙한 세대라서 그냥 메모장으로 했다
다시 pull을 시도해서 cmd를 연다
git mergetool --tool=unityyamlmerge
를 입력한다
y를 쳐준다
쏼라쏼라 다 되었다
그리고 여기서 n을 누르거나 해서 파일이 꼬인상태에서 또 시도하면 위처럼 되는데
씬이 작살날수 있으므로 조심하자
잘 합쳐진 모습
아직 끝이 아니다
합칠때 사본을 생성하기 때문에 지워둔다.
머지한 내용을 푸시한다
끝
-신버전 (2019이상?)
일단 급한불은 꺼졌다
하지만 합칠때마다 이 귀찮은짓을 할수는 없는노릇이다
자동화를 해보자
아래 링크를 참조했다
https://github.com/github-for-unity/Unity/issues/848
# Unity files
*.meta -text merge=unityamlmerge diff
*.unity -text merge=unityamlmerge diff
*.asset -text merge=unityamlmerge diff
*.prefab -text merge=unityamlmerge diff
어튜리뷰트를 사진처럼 설정해주고 커밋한다
그럼 이제 자기가 알아서 합쳐준다
하나씩 추가해서 또 머지해본 모습
나중에서야 안건데 위에 config설정은 구버전만 하는거고
요즘 버전은 어트리뷰트만 잘 넣어주면 자동으로 잘 된다...
수동머지도 git mergetool --tool=unityyamlmerge 만 쳐주면 잘 될듯 ㅡㅡ;
씬 머지는 만능이 아니므로 가급적 작업전에 미리 수정한다고 말하자
빌드세팅의 경우 머지시 오류나는 일이 잦으므로 .asset병합은 푸는게 나을지도
'깃허브' 카테고리의 다른 글
unable to restore stash when changes are present on your branch (0) | 2021.11.22 |
---|---|
GitHub Desktop 레포지토리 폴더 옮기는 방법 (0) | 2021.10.10 |
We were unable to locate Git on your system (0) | 2021.10.05 |