일단 하고 보는 사람

나중보단 지금에 집중하되, 지금보단 나중에 완벽해지자💪🏻

우당탕탕 git & gitHub

[gitHub error] Please commit your changes or stash them before you switch branches.

JanginTech 2025. 9. 17. 20:25

✅ 내 상황은 이렇다:

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 시도해서 발생하는 충돌을 따로 처리하는 것이 가장 정석적인 병합 방법

 

사실 이 방법은 전에 내 코드를 날려먹은 경험으로 인해 터득했지만

저 에러는 또 처음 봐서 기록해 보았다! ㅎㅎㅎ