Your local changes to the following files would be overwritten by merge 오류는 로컬 저장소에서 변경사항이 있고, 그 변경사항이 아직 커밋되지 않았을 때 발생합니다. 즉, 현재 작업중인 내용이 아직 커밋되지 않았는데 git pull origin back을 실행하면, 원격 저장소의 변경사항을 가져와서 병합하려 할 때, 로컬에서 변경한 내용과 충돌이 날 수 있어서 이런 오류가 발생합니다.
이런 경우에는 다음 두 가지 방법 중 하나를 선택할 수 있습니다:
로컬 변경사항 커밋: 로컬에서 변경한 내용을 커밋한 후에 git pull을 수행하면 됩니다. 이렇게 하면 로컬 변경사항과 원격 저장소의 변경사항이 모두 보존됩니다.
git add . git commit -m "Your commit message" git pull origin back
로컬 변경사항 스태시: 만약 로컬에서 변경한 내용이 아직 완료되지 않았거나, 커밋하기를 원치 않는다면 git stash 명령어를 사용해서 로컬 변경사항을 임시로 저장한 다음에 git pull을 수행할 수 있습니다. 이렇게 하면 로컬 변경사항은 임시 저장되고, 원격 저장소의 변경사항을 로컬에 병합할 수 있습니다. 그리고 나중에 git stash apply 명령어를 사용해서 임시 저장했던 로컬 변경사항을 다시 불러올 수 있습니다.
git stash(작업 중인 것 임시저장)
git pull origin back(=브랜치명)
git stash apply(당겨온 후 내 작업사항 꺼내오기)
위의 방법 중 하나를 선택해서 로컬 변경사항과 원격 저장소의 변경사항을 관리하면 됩니다. 어떤 방법을 선택할지는 당신의 상황에 따라 달라집니다. 로컬 변경사항이 완료되어서 커밋할 수 있는 상태라면 첫 번째 방법을, 아직 작업 중인 변경사항을 잠시 저장하고 싶다면 두 번째 방법을 사용하면 됩니다.