본문 바로가기

develop/Git, CodeEditor, Package Manager

[Git] 인텔리제이 conflict 발생시 색상별 의미

반응형

git pull 충돌 발생시 인텔리제이 색상별 설명

내 변경사항을 commit 하고 origin/develop을 pull 받았을때

현재 작업 브랜치인 feature/mission/terrain-altitude의 코드와 origin/develop의 코드와 충돌 내역이 있으면 이렇게 해당 파일의 목록을 보여준다. (인텔리제이 화면 기준)

 

해당 파일을 Merge 버튼을 눌러 확인하면 코드를 확인할수 있다. 

3개의 탭으로 보여지는데, 

왼쪽이 현재 내 작업 브랜치 feature/mission/terrain-altitude

중간이 충돌을 해결할 결과 화면 Result

오른쪽이 내가 pull 받은 원격브랜치 origin/develop 코드이다. 

 

빨간색/파란색/초록색/회색으로 변경사항이 있는 코드(원격브랜치든 내 작업 브랜치든)가 표시가 된다. 

 

빨간색

같은줄에 서로 다른 코드가 있다고 인식된것이다. 

누군가 해당줄에 코드를 추가했고 origin/develop 에 merge 완료된상태이고

나는 그 변경사항이 업데이트되지 않은 상태(pull 받지 않은 상태)로 작업을 하면서 해당줄에 코드를 작성해서 생긴 충돌이다. 

둘다 필요한 코드라면 양쪽 모두 반영을 하면 된다. 

왼쪽 두줄, 오른쪽 두줄이 반영되어 중간탭 result에서는 총 4줄이 될것이다. 

양쪽 모두 같은줄에서 변경사항이 있는 부분이니 어느쪽 코드를 먼저 넣을지도 확인해야하고, 신경을 써서 merge 해야한다. 

 

 

초록색

아예 없었던 코드를 추가한 경우

이 경우는 간단하게 그냥 accept(>>)로 반영하면 된다. 

 

 

파란색 

코드가 수정된 부분인데, 양쪽 브랜치간에 충돌은 없는 부분

예를 들어 console.log('aa')를  console.log('bb')로 변경하는 경우이다. 

원격브랜치나 내 작업 브랜치중에 한쪽만 변경을 한것이라 충돌이 없는것이니 이것도 코드 흐름상 문제 없다면 반영 하면 된다. 

 

 

회색 

이 부분은 코드가 삭제된 경우이다. 

accept를 하면 result에는 해당 코드가 없어진다.