✅ 내 상황은 이렇다:
1. 커밋하고 푸시하려는데 Pull 받아야 한다고 함
2. pull 누름
3. merge가 안 나오고 아래 에러가 나옴
4. 에러:
error: Your local changes to the following files would be overwritten by checkout: ...
Please commit your changes or stash them before you switch branches.
✅ 에러 해석:
지금 니 로컬에 수정된 게 있어서 merge든 checkout이든 아무것도 못 하는 상황이니까,
니 로컬부터 정리하고 시도해
ㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜ
pull을 눌렀을 때 나온 에러이니
- Git이 내부적으로 merge나 checkout 하려다가
- 작업 트리가 깨끗하지 않기 때문에 거절한 거다
🧨 Merge 거절: 왜 이런 거지?
Git은 병합(Merge, Rebase 등)을 시작하기 전에 작업 디렉터리(working tree)가 깨끗해야만 한다
그니까 unstaged이 있으면 병합이 안 되는 거다
지피티에게 물어보니 해결 방법 3가지를 제안해 주었다.
1. 커밋
2. Stash
3. 버리기(먼 말도 안 되는;;)
✅ 내 선택: 스테이지 올리기
너무 당연한 말이지만ㅎㅎㅎ
절대 하면 안 되는 행동은 GitHub Desktop에서 Pull 시도 ;;
일단 stage 올리고 커밋, 그리고 pull 시도해서 발생하는 충돌을 따로 처리하는 것이 가장 정석적인 병합 방법
사실 이 방법은 전에 내 코드를 날려먹은 경험으로 인해 터득했지만
저 에러는 또 처음 봐서 기록해 보았다! ㅎㅎㅎ
'우당탕탕 git & gitHub' 카테고리의 다른 글
| [gitHub merge] 당황❌ VSCode UI단에서 "안전 병합"하는 방법 (1) | 2025.08.31 |
|---|---|
| 공용 리포지토리에 PR 날리기 ‼️ (1) | 2024.03.08 |