본문 바로가기

개발관련/이클립스, Tools, IDE

[이클립스 git] error [rejected] branch-> branch (non-fast-forward) / branch 정보 가져오지 못할 때

728x90

Problem

branch push 중 rejected 발생

 

Cause

현재 브런치의 끝이 remote 브랜치보다 뒤에 있으므로 업데이트가 거부.

 

resoving problem

fetch 후 merge 후 push

 

 

 

 

해당 프로젝트 우클릭 > Team > Show in Repositories View

(또는 이클립스 상단바 Window > Show View > Other... > Git > Git Repositories)

 

 

 

 

 

Remotes 부분을 열어서 Remotes -> origin 에서 마우스 우클릭 Configure Fetch

 

 

push 하려는 remote 에 변경사항이 있는 경우 새로 받아서

내가 작업하고 있는 상태와 현재 remote 상태를 일치시킨다. ( 내가 변경한 소스를 제외하고)

 

 

 

 

 

기존 fetch 경로를 다시 새로고침 하는 듯. Advanced 를 클릭

(만약 Ref mappings 가 없다면 Add 해서 새로 추가한다)

 

 

 

 

휴지통 눌러서 삭제 후 

Source ref 눌러서 해당 branch 선택 후 Add Spec 으로 branch 를 선택한다.

Finish를 누른다.

 

 

 

 

Save and Fetch 클릭

 

 

 

 

 

(그럼 내 작업 트리와 remote 트리가 달라서 pull 하거나 push 할 게 나온다.

pull 후 marge 진행할 것)

 

 

 

 

Branches Local 에 있는 branch 우클릭 > Merge

(내 가지와 remote 가지를 병합하는 작업)

 

 

 

 

 

또는 프로젝트 우클릭 > Team > Merge

 

 

 

 

remote 에 해당하는 branch 를 선택 후 merge 한다.

(options 를 잘 보고 선택할 것)

 

 

 

 

 

그럼 다른 소스도 fetch 로 받았고

가지도 병합(merge) 해서

commit 된 소스를 push 할 수 있다.

push 하면 완료된다.

 

 

 

 

 

 

 

https://m.blog.naver.com/sim4858/220924984480

 

[Eclipse] Github push 오류 (rejected - non-fast-forward) 해결하기

이클립스에서 Github로 push를 하는 과정에서 다음과 같은 오류와 마주 보곤 합니다. 이때는 먼저 이클립...

blog.naver.com

 

 

 

 

 

 


remote 와 local 저장소의 시간차가 발생하는 지 브런치를 인식하지 못한다.

 

Remotes 부분을 열어서 Remotes -> origin 에서 마우스 우클릭 Configure Fetch

해서 여러 브런치를 한꺼번에 fetch 할 수 있다.

 

Add 버튼을 누르고 앞 부분의 스펠링을 입력하면

기존 remote에 있는 브런치가 자동완성 된다.

 

 

 

 

또는 refs/heads/*

refs/remotes/origin/*

+refs/heads/*:refs/remotes/origin/*

 

셋 중 하나를 입력하고 모두 추가 후 save and fetch 를 클릭하면

모든 브런치 정보를 가져온다.