티스토리 뷰

728x90

 

평소처럼 git add, git commit을 하던 도중 error가 발생했습니다.

 

사실 모든 error는 원인을 알려주고, 그것을 꼼꼼히 읽고 구글에 검색하고  열심히 이것저것 따라가다 보면 해결할 수 있는데요.

 

이번 error는 저도 기록해두기 위해 포스팅해봅니다.

 

1. 문제 원인

 

Github에서 README.md 수정을 하였음 → 원격 Repository에는 반영이 안 됨 → git pull을 해야함 (연동!)

 

error: Your local changes to the following files would be overwritten by merge:
        README.md
Please commit your changes or stash them before you merge.

 

저는 error 명을 보고, README.md 파일을 덮어씌어야 한다는 것을 알 수 있었고

stash를 해야한다는 점을 알 수 있었습니다.

 

그래서 git push 가 먹히지 않았죠!

 

2. 해결 방법

 

 

$ git stash

- 아직 마무리하지 않은 작업을 잠시 스택(stack)에 저장할 수 있도록 하는 명령어입니다.

 

stash란 아래에 해당하는 파일을 보관해두는 장소인데요.

 

  • Modified & Tracked 상태인 파일
    • Tracked 상태인 파일을 수정한 경우
    • Tracked: 과거에 이미 commit하여 관리 대상 상태 파일
  • Staging Area에 있는 파일 (Staged 상태의 파일)
    • git add 명령을 실행한 경우에 해당함

 

완료하지 않은 일을 commit 하지 않고 다시 꺼내와 마무리 가능합니다.

 

$ git pull origin main

 

본인의 branch에서 pull하거나, 원격 저장소의 변경 사항을 local에 적용한다.

 

$ git stash pop

 

- 변경 사항 적용 후, 스택에서 제거하는 명령어 (필수는 아닌듯?)

 

그 다음에 push하면 정상적으로 push되는 것을 확인 할 수 있습니다.

 

 

깨달은 점: 함부로 github에서 수정하지 말자... 귀찮아진다!

728x90

'Skills > Git & Github' 카테고리의 다른 글

Repository와 Local 저장소 연결  (0) 2022.11.21
[깃헙] github branch 생성, 업로드하기  (0) 2022.07.17
댓글