🚧 Git Pull 안 될 때 강제로 해결하는 방법
💡 에러 상황 예시
git pull 할 때 이런 메시지 많이 보지?
error: Your local changes to the following files would be overwritten by merge:
로컬에서 수정한 파일이 있는데, pull을 하면 덮어쓰게 되니까 Git이 막는 거야.
🛠️ 해결 방법들 (상황별 정리)
✅ 1. 그냥 서버에 맞춰 덮어쓰기(Pull 강제 덮어쓰기)
git fetch --all git reset --hard origin/main
- git fetch --all : 최신 변경사항 가져오기
- git reset --hard origin/main : 원격 저장소의 내용을 그대로 덮어쓰기
🔥 이것도 로컬 변경사항 사라지니 꼭 백업하거나 신중하게!
✅ 2. 로컬 수정사항 버릴 때 (진짜 깔끔하게 초기화하고 싶을 때)
git reset --hard HEAD git pull
- git reset --hard HEAD: 현재 브랜치를 마지막 커밋 상태로 강제 초기화 (수정사항 날아감!)
- git pull: 이후에 문제없이 서버에서 코드 받아옴
⚠️ 수정사항이 완전히 삭제되니 신중하게!
✅ 3. 수정사항 백업해두고 pull 하고 싶을 때
git stash
git pull
git stash pop
- git stash: 현재 변경사항을 임시 저장
- git pull: 서버에서 최신 코드 받아옴
- git stash pop: 아까 저장해둔 변경사항 복원
안전하게 내 코드도 지키고, pull도 하고! ✨
📌 보너스 팁: 브랜치가 main이 아닌 경우
git reset --hard origin/브랜치이름
예를 들어 develop 브랜치라면: git reset --hard origin/develop
📌내 경험상 가장 상위 폴더에서 명령해서해결할 수도 있어
이 경우는 git add 하고싶은데 상위폴더에서 바뀐 파일들이 있어서 못하는 경우였어
예를 들어 가장 상위폴더가 main 이라면
main 폴더로가서
git add . ---> 마지막에 점 있으니 빠뜨리지 않도록 하세요 모두하라는 뜻이에요
git commit -m " add file "
git pull
git push
'서버 셋팅' 카테고리의 다른 글
| Nginx vs Apache: 무엇을 선택해야 할까? (1) | 2025.04.23 |
|---|---|
| git commit 했는데 편집기가 열렸을 때 어떻하지? (0) | 2025.04.20 |
| GITHUB 이해하기 (0) | 2025.04.20 |
| 리눅스명령어 sudo 는 뭘까? (0) | 2025.04.19 |
| apt 명령어 배우기 (0) | 2025.04.19 |