-->

[Intellij] SVN merge for Override (Resolve Conflits) 

 

그 좋다는 intellij를 사용해야지 해야지 계속 미뤄두다가.. 학교 메일을 이용하면 학생 라이선스를 무료로 받을 수 있다는 정보를 습득!

그래서 라이센스 받은 지 무려 10달 만에 ^^ 본격적으로 업무환경에 intellij를 사용하고 있다.

원래 프로젝트에서 형상관리를 SVN 으로 하고 있었기에 intellij에서도 플러그인을 통해 사용하고 있다.

근데 문제는.. intellij 에는 Eclipse 에 있는 override commit과 override update가 없다는 것..?

구글링을 해도 안나오길래 혹시 이렇게 하는 건가 하고 적어본다.

 

일단 기본적으로 intellij 에서 아주 똑똑하게 commit, update 처리를 한다. 기본적인 merge 작업을 해주는 것이다. 

근데 intellij 가 감당할 수 없는 소스 merge가 일어나게 되면 유저에게 conflict를 보여주는 원리로 생각된다.

기본적으로 오래되었다고 하면 업데이트 한번 해주고 다시 커밋치면 증분수정분이 update, commit 잘 된다.

 

conflict가 발생하면 소스명이 빨간색으로 하이라이트 된다.

현재 conflict 일어난 xml 파일

 

해당 소스에 마우스 우측버튼을 클릭하여 Subversion 항목에 들어가면 Resolve Text Confilct와 Mark Resolved 메뉴가 있다.

 

Resolve Text Conflict 는 Merge 작업이다.

confilct난 소스를 확인하고 Merge 를 클릭해보자.

 

왼쪽은 내 버전, 오른쪽이 서버 버전이고 가운데가 결과적으로 merge 될 소스의 result를 보여준다.

conflict 나는 부분은 빨간 부분으로 보여지고 

따라서 눈으로 소스를 비교해보고 가운데 result 부분에 들어갈 부분을 각각 클릭 한 번으로 넣어주면 된다. 

 

Mark Resolved 가 바로 override 이다.

출처 : jetbrains.com

해당 버튼을 클릭하면 똑똑한 intellij가 confilct난 mark를 없애 local view로 commit 칠 수 있도록 만든다.

이것이 바로 override commit 개념인 것이다.

 

commit을 치기 위해서는 아까같이 소스 마우스 오른쪽 버튼에 Subversion에도 있고

intellij 우측 상단에 초록색 체크표시도 있고

Ctrl + T도 있고

상단 탭의 SVN에서도 칠 수 있다.

커밋 준비 완료

 

 

 

참고 :

https://www.jetbrains.com/help/idea/resolving-text-conflicts.html

 

Resolve conflicts in Subversion | IntelliJ IDEA

 

www.jetbrains.com

https://www.jetbrains.com/help/idea/mark-resolved-dialog-subversion.html

 

Mark Resolved dialog (Subversion) | IntelliJ IDEA

 

www.jetbrains.com

 

+ Recent posts