GIT & GITHUB

[git] ! [rejected] main-> main(non-fast-forward) error: failed to push some refs to 'https://github.com/~' 오류 해결 방법

S_N_Y 2024. 2. 12. 23:19

 

팀 프로젝트를 하다가 생겼던 오류를 적어보려고 한다..!

해결되고보니 어이없고 쉬운 오류였지만

내 블로그를 참고하여 해결될 수 있는 분들이 계시면 좋겠다는 마음으로 올려본다

 

#1 문제점 인식🧐

해결되기 전 상황을 설명해보자면 개인 branch에서 add, commit를 여러 개 한 후, push를 하려고 했는데 아래와 같은 에러 코드가 뜬 것이다.

 ! [rejected]        "브랜치 이름" -> "브랜치 이름" (non-fast-forward)
error: failed to push some refs to '올리려는 깃허브 주소'

 

그리고 아래에 뜨는 힌트는 이러하였다.

초반에 branch를 다른 branch에서 작업할 뻔했어서 커밋을 잘못 찍었나보다하고 다른 branch를 생성해 올리기도 하고 여러 가지 방법으로 시도해봤는데 PR이 뜨지 않고 자동으로 내 branch에만 push되는 상태라 더 갈피를 못 잡았었다.

근데 깃허브를 뒤적이고 구글링해봤더니 간단한 실수여서 금방 해결할 수 있었다. 원인과 해결방법은 다음과 같다.

#2 해결 방법✅

저런 식으로 오류코드가 떴을 때 원인은 여러 가지이다

1. repository 생성 시 readme.md 파일을 생성했을 경우

2. local 저장소와 원격 저장소의 상태가 다를 경우

3. 데이터 유실 등의 문제가 있을 수 있는 부분이 있어서 push를 거절하는 경우

 

나와 같은 경우 3번의 경우이다.

나의 상황은 앞전에 다른 branch로 작업한줄 알고 내 개인 branch에 커밋해서 push한 상태였는데(깃허브에 push된 상태) 제대로 merge하지 않고 다른 branch를 파서 push하려니 깃에서 "데이터 이대로 push하면 앞전에 다른 branch에서 merge 안 하고 push만 해둔 데이터 정보 유실될 수 있으니 reject할게~" 라고 경고 메세지를 남긴 것이다.

개인 branch에 올려둔 push목록들을 깃허브에서 따로 PR을 만들어 merge했더니 바로 해결되었습니다 :)

 

PR 뜨는  모습 (해결완료)