수정 전 코드 상태
아래는 수정 작업 전의 코드 상태를 나타낸다.
HelloWorld.java
public void setBoolean(boolean value)
{
/*
* 추후 플래그 변경시 이벤트 발생 기능 추가 필요
*/
this.flagValue = value;
}
코드 수정
Developer와 Terry Hwang이 유사한 시간대에 코드를 수정한다.
개발자 이름: Alvin
- 개발자 Terry Hwang 보다 먼저 코멘트 를 작성하여 저장소에 push 함
- Code review 를 통과하여 저장소에 merge 됨
public void setBoolean(boolean value)
{
/*
* 플래그 변수값 변경
*/
this.flagValue = value;
}
개발자 이름: Terry
- Alvin 의 수정 내용을 인지하지 못하고 같은 코드 위치에 코멘트 작성
public void setBoolean(boolean value)
{
/*
* 추후 플래그 변경시 이벤트 발생 기능 추가 필요
*/
this.flagValue = value;
}
Conflict 발생
Terry는 Eclipse에서 변경사항 push를 시도하면서 code 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가 필요한 파일과 위치를 찾을 수 있다.






