형상 관리 도구/Git
[Git] git pull 충돌, Your local changes to the following files would be overwritten by merge 에러 해결법
기록원장
2025. 5. 14. 23:29
반응형
git pull origin 진행 시, 아래의 에러 메시지와 함께 충돌이 발생했다.
error: Your local changes to the following files would be overwritten by merge:
src/main/webapp/robots.txt
Please, commit your changes or stash them before you can merge.
이 에러 메시지는 현재 로컬 작업 디렉터리에 수정된 src/main/webapp/robots.txt 파일이 존재하고,
이 상태에서 git pull을 진행하면 원격에 있는 변경사항이 이 파일을 덮어써 버리기 때문에 Git이 “당신의 수정분이 날아갈 수 있으니, 먼저 커밋하거나 임시 보관(stash)하라”고 나오는 경고라고 이해하면 된다.
◆ 해결 방법
해결 방법으로는 3가지 정도가 있는데, 상황에 맞는 방법을 선택 해 진행하면 된다.
※ 수정 내용을 유지하며 당장 병합하고 싶은 경우
#변경 파일 스테이징
git add src/main/webapp/robots.txt
#스테이징된 변경 커밋
git commit
#원격 저장소에서 변경사항 가져와 병합
git pull origin
※ 수정분을 따로 보관해두고 병합 후 다시 적용하고 싶은 경우
#변경분 임시 보관하기
git stash push
#원격 저장소에서 변경사항 가져와 병합
git pull origin
#보관해 둔 변경분 다시 적용하기
git stash pop
※ 로컬 변경을 버리고 원격 그대로 가져오고 싶은 경우
#로컬 수정 취소 (robots.txt를 커밋된 상태로 복원)
git checkout -- src/main/webapp/robots.txt
#원격 저장소에서 변경사항 가져와 병합
git pull origin
글 내용 중 잘못된 부분이 있거나, 첨부하실 내용이 있으시면 댓글로 남겨주세요. 공부하는데 많은 도움이 됩니다.
-- 기억의 유효기간은 생각보다 짧다. --
반응형