[Git] git pull 충돌 에러 (Your local changes to the following files would be overwritten by merge)

growleb·2022년 2월 1일

스터디를 위해 Git으로 작업하던 중 이 오류를 매번 겪게 돼서...
메모해두는 게 좋을 것 같단 생각이 들었다.

우선 상황은 스터디 과제를 위해 해당 주차의 강의가 끝난 후 업로드 된 complete 소스를 pull 하려던 중이었다. (원격 레포지토리에서 pull)

그런데 Your local changes to the following files would be overwritten by merge라는 메세지와 함께 오류가 발생했다.

검색해보니 remote 소스와 로컬 소스 사이에 충돌이 일어날 때 발생하는 오류라고 한다.
아마 내가 강의 전 week3 branch를 pull 해놓고 약간 수정한 탓에 complete/week3의 소스와 충돌하는 모양이다.

해결법은 error 아래에 나와있긴 하다.

Please commit your changes or stash them before you merge.

merge 전에 commit 또는 stash를 하라는 뜻이다.

여기서 stash마무리 되지 않은 작업을 스택에 임시저장하는 명령어다.
검색 중에 stash 개념 이해에 도움을 많이 받은 글은 여기 (링크)


결과적으로 해결한 방법은
  1. git stash 를 통해 내가 수정한 내용은 스택에 임시저장
  2. git pull origin <branch name> 로 git 최신 소스 다운
  3. git stahs pop 으로 변경사항 적용 및 스택 제거

까지 해서 정상적으로 원하는 소스를 적용시켰다.
profile
매일매일 성장하는 개발자 :)

0개의 댓글