git rebase 명령어 관련 에러

hyuckhoon.ko·2021년 11월 21일
0

git rebase 후 push를 할 때 아래와 같은 에러가 발생했다.


로컬의 test 브랜치가 이미 원격 저장소 test 브랜치에 반영되어 있다.

로컬에서 test 브랜치로 작업하면서 커밋들이 쌓였다.

리베이스를 진행했다.

문제는 여기다.

로컬에서는 리베이스로 커밋들이 fast-forwarded됐다.

하지만 원격 저장소의 test브랜치는 그 히스토리를 알 리가 없다.

따라서, 로컬에서 test 브랜치로 푸쉬를 해도 원격 저장소의 test와 히스토리가 다르기에 push가 되지 않는 것이다.


개인 프로젝트라면 -f로 원격 저장소의 test 브랜치를 강제로 덮을 수 있다. 피해가 가도 나만 고생하면 되기 때문이다.

하지만 협업을 하는 프로젝트라면 -f 옵션은 사용하면 안 된다.


보통 git checkout -b 새로운 브랜치명령어를 사용한다.

아직 원격 저장소에 반영된 브랜치가 아니므로 위와 같은 에러를 방지할 수 있다.


출처: https://stackoverflow.com/questions/39399804/updates-were-rejected-because-the-tip-of-your-current-branch-is-behind-its-remot

0개의 댓글