프로젝트 개발 관련 공부/Git, Github

[Git] Conflict 해결 by Visual Studio Code

이제ise이제 2023. 10. 12. 12:32
현재 상태 : unmerged paths가 있다. 즉 충돌 있다

충돌 in gitbash

 

이유 : 다른 브랜치에서 Photon 서버(Pun) 추가한 게 많아서

충돌 중 하나 in Visual Studio Code

 

(Visual Studio Code가 흰색인 이유 : 흰색이 눈에 더 좋다길래 한 번 해봄..)

 

 

가끔 충돌 내역이 연달아 있거나 뇌정지 오면

<<< HEAD가 어떤 브랜치고

>>> 엄청 긴 문장이 어떤 브랜치인지

Current랑 Incoming 써있는데도

헷갈릴 때가 있어서 이참에 정리

 

 

다른 브랜치의 내역 --merge--> 내 브랜치인 상황일 때


<<< HEAD Current Change 원래 있던 내 브랜치
>>> 긴 문장 Incoming Change 가져온 브랜치
===== 구분선 Current와 Incoming 구분

 


 

문제 해결 방법

 

충돌 난 부분의 상단에 있는 버튼을 누르면 IDE가 한방에 정리해준다

충돌 위치의 가장 상단에 있는 버튼 in Visual Studio Code

 


 

Accept Current Change

1. Current 부분만 살려줌


<<< 부분은 IDE가 삭제해줌


2. '구 분선(=====)'과 'Incoming'과 '>>>'는 삭제됨

삭제되는 구분선(=====)과 Current Change

 


 

Accept Incoming Change

Accept Current Change와 반대되는 상황

 

1. Incoming 부분만 살려줌


>>> 부분은 IDE가 삭제해줌


2. '<<<'와 'Current'와 '구분선(=====)'은 삭제됨

삭제되는 Current Change와 구분선(=====)

 


 

Accept Both Changes

둘다 반영

 

Accept Both Changes

구분선이랑 >>>, <<<은 삭제해줌

 


 

Compare Changes

 

새로운 탭을 생성하고 양 옆으로 비교할 수 있게 해줌

 

 

PS) Visual Studio 2022

아래 링크에 Visual Studio 환경에서 Conflict 해결하는 방법이 안내되어 있다.

 

https://learn.microsoft.com/en-us/visualstudio/version-control/git-resolve-conflicts?view=vs-2022 

 

Resolve merge conflicts in Visual Studio

Understanding, preventing, and resolving merge conflicts in Visual Studio.

learn.microsoft.com

 

Q. 정작 나는 왜 Visual Studio Code에서 해결하는지

A. 충돌 때문에 Unity가 안열리는 상황 & Scripts 폴더로 불러와서 한 번에 처리하려고