Hey Tech

[Github] Pull 에러 해결하기 "Please commit your changes or stash them before you merge." 본문

SW 개발/Git

[Github] Pull 에러 해결하기 "Please commit your changes or stash them before you merge."

Tony Park (토니) 2021. 10. 6. 10:19
728x90
반응형

안녕하세요! 오늘은 아래와 같은 원격 저장소 pull 도중 마주할 수 있는 에러에 대응하는 방법을 공유합니다.

error: Your local changes to the following files would be overwritten by merge: 
...
Please commit your changes or stash them before you merge.

🔥 에러 상황

원격저장소에서 로컬로 파일을 pull 하던 중 에러 메시지를 마주했습니다.

git pull origin main

에러 메시지(그림 1)👇

From https://github.com/park-gb/algorithm-problem-solving
 * branch            main       -> FETCH_HEAD
Updating 840480f..9f7b05f
error: Your local changes to the following files would be overwritten by merge:
	README.md
Please commit your changes or stash them before you merge.
Aborting

그림 1. 에러 메시지

⁉️ 원인 

문제의 원인은 원격 저장소에서 pull 할 때 로컬에 수정한 파일이 존재하기 때문입니다.

예를 들어, 업데이트 된 팀 프로젝트 파일을 pull 하는 것을 까먹고,

 로컬에서 프로젝트 파일을 수정하던 중에 원격 저장소 파일을 pull 하게 되면 위와 같은 에러가 발생합니다.

💡 해결방법

해결방법은 로컬 내 수정사항을 임시 공간으로 옮긴 후 원격 저장소를 pull 하는 것입니다.

(1) 로컬 내 수정사항을 임시 공간으로 옮깁니다(그림 2).

git stash

 

그림 2. git stash

(2) 원격 저장소를 pull 합니다(그림 3).

git pull origin main

그림 3. 원격 저장소 pull

(3) 로컬 내 수정사항과 원격 저장소에서 pull 한 파일을 병합(merge)합니다(그림 4).

git stash pop

그림 4. 로컬 내 수정사항과 원격 저장소에서 pull 한 파일의 병합(merge)


포스팅 내용에 오류가 있다면 아래에 👇👇👇 댓글 남겨주시면 감사드리겠습니다.

그럼 오늘도 멋진 하루 만드시길 바랍니다 :)

고맙습니다.

728x90
반응형