Error code 모음/5. JAVA, Spring errors

[JAVA Error] 이클립스 pull 에러 checkout conflict with files : ~

쟈누이 2020. 11. 30. 10:44
반응형

 

에러 발생 원인

- 위 에러는 여러 환경에서 작업을 하거나, 협업을 하면서 발생할 수 있다.

  (대개 git 으로 pull 하는 과정에서 많이 일어난다.

- 사용자가 commit 을 하기 전에 pull을 받아 로컬을 업데이트 하지 않았거나, 

  pull 을 받을 때 이미 HEAD와 소스가 다를 때 주로 발생한다

  (Repository HEAD 상황과 나의 로컬 상황이 달라서 발생)

- 정리하자면, 파일의 소스가 충돌이 일어난다는 것이다. 

 

에러 확인 방법

pull 을 실행할 때,  'Checkout conflict with files : ~~~ (file 경로)' 라는 경고 문구가 뜬다

그러면 에러 로그를 클릭하여 어디 부분에 에러가 났는지 확인하면 된다.

 

해결 방법

- 해결 방법은 대개 두가지로 나뉜다.

 

1. Merge

- 에러라고 알려주는 해당 경로의 파일을 확인하고 찾아가서 commit 하고, (따로 내용 변경하지 않고)

- pull 을 시도하여 이클립스에서 merge tool 을 이용해 변경점을 코드에 반영한다

 

2. compare with head 로 해결 (직접 코드를 비교)

말 그대로 직접 코드를 비교하면서 바뀐 부분을 고친 후 바꿔주는 것이다

 

프로젝트 우클릭 -> Team ->   Synchronize WorkSpace -> Conflict Mode (빨간색 양쪽 화살표) 충돌나는 파일을 찾고

Project Explorer에서 해당 파일을 우클릭 -> Compare With - HEAD Revision

 

말그대로 HEAD와 현재 로컬 소스를 비교하면서 고쳐준다

 

 

마지막으로는, 그래도 안될 때 쓰는 내가 찾아낸 방법이다.

 

3. 강제 reset 후 pull 하기

위 방법들이 다 소용이 없을 때 쓰는 방법이다.

나의 경우에는 classpath 를 찾을 수 없어 서 위 방법을 사용했다.

 

방법은 프로젝트 우클릭 -> Team -> Reset -> HARD 

를 선택후 Reset 버튼을 클릭한 후에 pull 을 다시 시도하면 된다.

 

그 이후 프로젝트에 원활한 pull 이 이루어 졌다.

반응형