Eclipse Git Merge Conflict 해결 방법 - CURVC DevOps - Confluence
Conflict 발생 시나리오
몇 가지의 원인으로 conflict이 발생한다. 본 문서는 두 명의 개발자가 같은 버전의 저장소를 수정한 후 push 할 때 발생하는 경우를 고려한다.
수정 전 코드 상태
아래는 수정 작업 전의 코드 상태를 나타낸다.
코드 수정
Developer와 Terry Hwang이 유사한 시간대에 코드를 수정한다.
개발자 이름: Alvin
- 개발자 Terry Hwang 보다 먼저 코멘트 를 작성하여 저장소에 push 함
- Code review 를 통과하여 저장소에 merge 됨
개발자 이름: Terry
- Alvin 의 수정 내용을 인지하지 못하고 같은 코드 위치에 코멘트 작성
Conflict 발생
Terry는 Eclipse에서 변경사항 push를 시도하면서 code conflict 인지
Conflict 해소 절차
Step 1) 원격 저장소의 변경사항 가져오기
프로젝트 선택하여 마우스 우클릭 >> Team >> Pull 선택
Conflicting이 발생한 commit 목록이 표시된다.
Step 2) Conflict 위치 찾기 및 수정
Eclipse의 Project Explorer에 conflict이 발생한 파일을 확인하다.
Git은 컴파일 오류를 유발고 눈에 띄게 할 목적으로 conflict이 발생한 부분을 <<<<<<< ====== >>>>>>> 로 표시한다.
복잡한 conflict이 발생한 경우 Eclipse에서 제공하는 merge 기능이 유용하다.
Project (또는 conflict이 발생한 파일 선택) >> Team >> Merge Tool
Merge 도구를 통해 수동 merge가 필요한 파일과 위치를 찾을 수 있다.
Merge 도구 메뉴:
아이콘 배치의 순서대로,
- 좌/우 view 치환
- 두 변경의 공통 원본 표시
- Three way compare: 공통 원본과 함께 두 변경 비교
- Conflict가 발생하지 않는 오른 쪽의내용을 모두 왼쪽에 반영
- 왼쪽 변경을 오른 쪽에 반영
- 오른 쪽의 변경을 왼쪽에 반영
- 다음 차이점 위치
- 이전 차이점 위치
- 다음 변경
- 이전 변경
수정을 완료하고 파일을 저장한다.
Step 3) Merge 결과 Commit & Push
Merge 한 파일을 Staged Changes 창으로 이동시키고 "Commit and Push" 또는 Commit 한다.
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
212 | 안드로이드 생체 인식 인증 샘플 | 묵묵이 | 2024.12.19 | 0 |
211 | Webbrowser 버전은 아래와 같이 변경 | 묵묵이 | 2024.04.28 | 1 |
210 | HttpURLConnection 이용한 통신 / 파일 다운로드 | 묵묵이 | 2024.03.14 | 0 |
209 | [Spring Boot] Gradle 로 빌드 하는 법 | 묵묵이 | 2024.02.08 | 0 |
208 | Gradle 프로젝트 설정 | 묵묵이 | 2024.02.08 | 0 |
207 | document.baseURI 를 지원하지 않는 이슈 | 묵묵이 | 2024.01.23 | 0 |
206 | ios WkWebview 개발자 모드에서 로그를 볼수 없는 현상 | 묵묵이 | 2023.12.21 | 0 |
205 | Cordova(코르도바) 설치, 프로젝트 생성 | 묵묵이 | 2023.12.14 | 0 |
204 | 웹뷰(WebView) 사용법 | 묵묵이 | 2023.12.13 | 0 |
203 | 안드로이드 기본값으로 휴대폰 기울기에 따라 자동회전 막기 | 묵묵이 | 2023.12.13 | 0 |
202 | 화면모드로 전환시 WebView가 리로드되는 현상 | 묵묵이 | 2023.12.13 | 0 |
201 | xeni 엑셀 다운로드 관련 | 묵묵이 | 2023.12.08 | 2 |
200 | CKeditor4 를 이용한 게시판 글쓰기 구현 및 사진 업로드 [1] | 묵묵이 | 2023.11.23 | 1 |
199 | Jenkins REST API 호출로 Job 생성/실행/결과조회 하기 | 묵묵이 | 2023.09.22 | 1 |
198 | 키보드 변경시 앱 재시동 현상 | 묵묵이 | 2023.09.09 | 0 |
197 | Tomcat(톰캣)에서 HTTP/2 (HTTP 2.0) 사용하기 | 묵묵이 | 2023.08.08 | 7 |
» | Eclipse Git Merge Conflict 해결 방법 [1] | 묵묵이 | 2023.07.27 | 1 |
195 | 유튜브 무료 영화 | 묵묵이 | 2023.07.24 | 0 |
194 | Git 줄 끝을 처리하도록 Git 구성 2 [2] | 묵묵이 | 2023.07.20 | 2 |
193 | 빌라가배 Villagabae - 풀빌라 거제 | 묵묵이 | 2023.07.18 | 0 |
Eclipse Git(6) - Stash (tistory.com)
임시 저장 후 다시 불러오기