이 페이지는 로컬 저장소 버전을 원본 저장소 버전과 일치시키는 방법을 정리한다.
오류 현상
Pull 오류 발생
Project context menu > Team > Pull 하면 conflict 오류가 발생한다.
Commit 안됨
Commit & Push rejected
원인
Pull 명령은 원격 저장소의 변경사항을 로컬 저장에 병합 (merge)하는 동작이다. 이 때 자동 merge가 안되면 로컬 저장소의 상태가 'conflict'이 되고 이 상태를 해소되지 않으면 다른 git 기능이 동작하지 않는다.
본 예의 경우 "Initial description"만 작성된 상태로 로컬에 pull 하여 1,2,3을 추가하였다. 그 후 다른 사용자가 4,5,6을 추가한 상태이다.
Initial description
상태
Initial description 4 5 6
Initial description 1 2 3
해결 방안
Reset
원격 저장소를 기준으로 로컬 저장소를 reset 한다.
Project context menu > Team > reset
Reset 창에서 기준점이 원격 저장소가 되도록 한다 (예: Remote Tracking > origin/master). 그리고 Reset type을 'Hard' 로 설정한다.
확인 창에서 Yes를 선택한다. Reset hard 동작은 로컬 변경사항을 잃게된다는 점에 주의한다.
Reset의 결과로 readme.txt 파일 내용이 원격 저장소로 변경된다.
Initial description 4 5 6
Merge
원격 저장소를 pull 하여 발생하는 conflict을 수동으로 merge 한다.
Step 1) Project context menu > Team > Merge
- local master를 checkout 한 상태에서 origin을 선택하여 merge 수행
Step 2) 수동으로 merge 수행하고 파일 저장
Step 3) Git stage에서 수정했던 파일을 tracking에 add
Step 4) Commit & Push






