카테고리 없음

[Git] Your local changes to the following files would be overwritten by merge 에러 (pull 명령어 에러)

heoheos 2024. 1. 8. 09:19

노트북으로 작업하다가 잠시 다른 기기를 통해 원격 저장소에서 프로젝트를 clone 하고 코드 수정 후 commit, push 과정을 거쳤다.

그리고 다시 노트북으로 원격에 저장된 코드를 pull 하려 했는데 다음과 같은 에러가 발생했다.

 

현재 노트북 local 상황은 원격 저장소 pull 전 추가 변경 코드가 존재하고 있는 상황

 

찾아보니까 git stash를 통해 간단히 해결할 수 있다고 한다.

stash는 현재 디렉터리의 파일을 임시로 백업하고 깨끗이 비운 상태에서 pull을 정상적으로 받은 후 기존에 작업한 코드를 다시 가져와 합칠 수 있도록 도와주는 역할인 듯하다.

 

단, stash는 git add가 안된 것은 제외하고 modified 된 것을 저장하는 역할이므로 주의

 

1. stash로 현재 local에서 추가/변경한 코드 임시 공간에 저장 (stash로 저장 후 코드는 변경 전 commit 상태로 돌아감)

 

 

2. pull로 원격 변경사항 local로 옮기기

 

 

3. stash pop으로 임시 공간에 저장해 뒀던 코드들 가져오기

 

잘 합쳐진 것을 확인할 수 있다.