Post

자잘한 에러

자잘한 에러

Git push가 왜 안될까…

계속 코드 복습을 하겠다고 IDE에서 프로젝트를 새로 생성하고, 나는 중간 과정부터 이 코드를 삽입해서 이 기능이 될까 저 기능을 주입해서 저 기능이 될까 라는 것에 공부하고 싶었는데 처음부터 데이터베이스를 연결해서 만들고 또 스프링 부트에서는 엔티티, dto, 서비스, 리포지토리 등 새롭게 만드는게 괜히 돌아가는 것 같았다.
그래서 지금까지 이해한 과정을 일정한 단계로 나눠 깃허브에 업로드하고, 내가 이 단계에서 다시 복습을 하거나 새로운 시도를 하고 싶다하면 특정 구간을 다시 다운받아 진행하면 편할 것 같아 새롭게 깃허브, 로컬에 리포지토리를 생성하였다.
CMD를 이용해 깃으로 업로드를 할려고 했으나, push단계에서 안되는 에러가 또 발생하고 말았다.

10-6-cmd-errors



Git Page블로그를 만들 때는 잘 만들고, 어제까지 잘 글써서 깃에 push까지 했는데, 새로운 환경에서 시도할려고 하니 또 이상한 에러가 나타난다.
예전에 failed to push some refs to 깃주소에러가 발생하였을 때 로컬 리포지토리깃허브 리포지토리의 구성 파일이 존재하지 않기 때문에 이러한 에러가 발생하고, 이것을 해결하기 위해서는 깃허브 리포지토리의 파일을 로컬 리포지토리pull를 하여 똑같은 상태로 만들어 다시 push를 하면 해결되는 문제였다.

당연 해결되었으면 이 글을 작성하지 않았을 것이다.

아무리 로컬에 깃허브에 push를 시도하였는데도 이 에러는 계속 발생하였다.
로컬이나 깃허브의 리포지토리를 지웟다가 새로 생성해서 시도를 해봐도 똑같은 에러가 나타나기에 머리가 아파오기 시작했다.
몇시간동안 뻘짓을 한 결과 예상치 못한 곳에서 해결하였고, 원인은 브랜치였다.

몇 시간을 헤매다 보니 어떤 것이라도 좋으니 얻어 걸려라는 식으로 아무거나 시도하고 있었는데 우연히 git branch -m main를 코드를 입력하여 push를 하였는데 이번엔 제대로 정상처리가 된 것이다.
이게 왜 이런 부분에서 해결이 되었나 싶었는데,여태까지 main으로 push하였는데 브랜치 명이 지금까지 달랐나 싶어 처음 로컬 리포지토리를 init으로 생성할 때 기본 브렌치명을 git config --get init.defaultBranch으로 조회해보니 master으로 설정이 되어 있었다.
그래서 git config --global init.defaultBranch main을 입력해 main이 기본 브렌치명으로 변경하였다.


해결 요약

본문이 장황하게 길었지만 요약하면 이러하다.

  1. 먼저 로컬 리포지토리를 생성해서 깃허브와 연결하고 로컬 리포지토리에서 git config --get init.defaultBranch을 입력해 기본 브랜치명을 확인하자.
    자신이 사용하고자한 브랜치명이 아니라면 git config --global init.defaultBranch 브랜치명으로 변경할 수 있도록 하자.
    여기서 해결하지 못하면 아무리 로컬과 깃허브 환경을 똑같이 만들어도 에러가 발생한다.

  2. 로컬과 깃허브의 환경을 pull를 이용해서 똑같이 만들어서 사용하도록 하자.


This post is licensed under CC BY 4.0 by the author.