본문 바로가기
Git

[Git] git pull origin master/ git push origin master 오류 "fatal: couldn't find remote ref master"/ "error: src refspec main does not match any" 해결 방법

by Gina Sim 2020. 11. 24.

오랜만에 git을 사용하는데 "git pull origin master"에서

"fatal: couldn't find remote ref master" 오류가 발생했다.

 

한참을 구글링해도 나오지 않아서,

이전에 만들었던 repository랑 차이가 뭔지 비교하다 보니

branch 이름이 달라진 것을 확인할 수 있었다.

 

git branch master main으로 다시 구글링 해보니

올해 10월부터 GitHub에서 기본 branch를 master에서 main으로 변경했다고 한다.

 

<좌> 2020.05.에 생성한 repository- 기본 branch: master   <우> 2020.11. repository- 기본 branch: main

 

이렇게 기본 branch이름이 main으로 변경되면서

git pull origin master를 하면 master를 찾을 수 없다는 오류가 발생한 것이다.

 

매우 간단한 해결책을 한참을 헤매었는데, 결론부터 말하자면

"git pull origin main"을 하면 정상적으로 파일이 불러진다.

 

같은 이유로 "git push origin master"에서 발생하는

"error: src refspec main does not match any"오류에 대한

해결 방법도 본문 아래쪽에 함께 정리하였다.


1. 먼저 test 폴더를 생성하고 git bash 연결 후 원격 저장소를 연결하는데 까지는 문제가 없다.

 

 

2. "git pull origin master"를 하면 "fatal: couldn't find remote ref master" 오류 발생

더보기

GitHub의 기본 branch가 main으로 설정되어 있어서 master라는 branch는 없는 상황인데,
origin의 master branch로부터 파일/폴더를 가져온다고(pull) 하니 당연히 발생하는 오류.

 

 

반응형

 

3. "git pull origin main"으로 다시 입력하면 정상적으로 origin의 파일이 local 저장소(test 폴더)에 저장된 것을 확인할 수 있다.

 

 

4. push를 테스트하기 위해 local저장소(test 폴더)에 new.md 파일 생성

 

5. "git push origin master"할 경우 "error: src refspec main does not match any"오류 발생

더보기

현재 Git의 기본 branch가 master로 설정되어 있는 상태이다.

local 저장소로부터 원격 저장소에 push해주기 위해 Git의 branch 역시 main으로 바꾸어줘야 한다.

6. "git branch -M main"을 통해 git의 branch를 master -> main 변경

7. "git push origin main" 하면 정상적으로 원격 저장소에 업로드됨

 

 

원격저장소에 정상적으로 업로드된 new.md

 

 

 

 

 

 

 

참고: https://blog.outsider.ne.kr/1503

 

 

반응형

댓글