
새로운 깃허브 레퍼지토리에 git push 시도할 때 에러 발생
git push origin main
1️⃣ main branch가 존재하지 않거나 default로 설정되지 않은 경우
2️⃣ commit을 하지 않은 상태에서 push를 시도할 경우
3️⃣ local repository와 remote repository의 정보가 일치하지 않는 상황에서 push를 시도할 경우
(⭐참고) github repository를 생성할 때 Add a README file 옵션 체크 시
remote repository의 default branch가 자동 설정된다.
첫 번째로 branch 정보 확인부터 해보자.
git branch

다음으로 main branch 생성
git branch main(추가할 브랜치명)
다시 정보를 확인해 보면

이렇게 생성이 완료된 것을 볼 수 있다.
🔥 default branch 변경
git checkout main git branch

아쉽게도 이 방법으론 해결하지 못했다.
commit은 당연히 했다.
pull을 시도한 뒤 정보가 불러와지는 것까지 확인 후 push를 해도 처음 사진과 같이 나온다.
찾아본 모든 해결 방법을 시도해 봐도 실패했다.
이것저것 시도해 보던 와중 이해가 안 되는 상황이 생겼다.
당시 내 github repository의 default branch는 자동 생성된 main 이었다.
git push origin main → 오류 발생 ❌ git push origin master → master 브랜치가 생성되면서 업로드된다? ✔️
master branch로 계속 업로드할 수도 있겠지만,
원인을 모르고 지나가기엔 찝찝하니 더 알아보자.
git push origin master를 했을 땐 로컬에 있던 master 브랜치가
새롭게 원격에 생성되었기 때문에 푸시가 성공한 거였고,
1번 과정에서 단지 local default branch의 생성과 수정에서 끝나는 게 아니라
로컬과 원격저장소의 브랜치를 동기화 시켰어야 했다.
git branch -m master main // 로컬에서 master → main 변경 git fetch origin // master 원격 저장소 정보 가져오기 git branch --set-upstream-to=origin/main main // 원격 main과 연결 git pull origin main // 최신 내용 받아오기
그래도 push가 안 된다면?
git push --force origin main // 로컬 main branch를 원격 main branch에 강제로 덮어씌우는 방법
드디어 깃헙 시작했군요 ㄷㄷ