Get it on Google Play


Wm뮤 :: 깃허브 머지 충돌 대응법

블로그 이미지
가끔 그림그리거나 3D모델링하거나
취미로 로봇만드는
퇴직한 전자과 게임프로그래머
2020.3.48f1 , 2022.3.6f1 주로 사용
모카쨩
@Ahzkwid

Recent Comment

Archive


2021. 11. 3. 19:10 깃허브

 

 

 

 

-스크립트 충돌시

 

해당 스크립트를 열어서 병합 편집기를 연다

 

 

충돌난곳에 모두 체크표시를 한다

한개를 빼야한다면 해당코드에 체크해제를 누른다

 

 

병합 수락을 누른다

 

 

깃헙데스크톱에서 누른다

 

 

머지를 누른다

 

 

 

 

 

 

 

-씬 충돌시

 

-구버전

더보기

https://docs.unity3d.com/Manual/SmartMerge.html

 

Unity - Manual: Smart merge

Using external version control systems with Unity Smart merge Use the UnityYAMLMerge tool to merge sceneA Scene contains the environments and menus of your game. Think of each unique Scene file as a unique level. In each Scene, you place your environments,

docs.unity3d.com

 

 

 

한쪽에서 스피어를 추가한후에 받는쪽에서 큐브를 추가하고 머지충돌이 난 상태다

 

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병합은 푸는게 나을지도

 

 

posted by 모카쨩

  • total
  • today
  • yesterday

Recent Post

저사양 유저용 블로그 진입