Tech is created to fix problem

[Git 오류] pull 하고 push 해도 안된다면 rebase 본문

Git & Github

[Git 오류] pull 하고 push 해도 안된다면 rebase

furaha 2023. 9. 3. 12:31
반응형

깃헙에서 직접 주석을 일부 수정해서 깃헙에서 커밋을 했었다

그 이후 며칠이 지나고 에디터에서 푸시를 하려는데

이와 같은 오류가 발생!! 원격저장소와 내 로컬의 내용이 충돌해서 인 것 같다

 

 

그래서 git pull origin 브랜치명

당겨 받으려고 했더니 아래처럼 merge를 하던가 rebase를 하던가 fast-forward로 당기던가 하라고 해서

 

 

git config pull.rebase true
git pull origin 브랜치명

 

다시 당겨받았다. 그랬더니 에디터에서 충돌되는 부분을 머지할 수 있게 되었고

충돌을 해결한 뒤에 커밋해주었다

 

그런데 브랜치명이 내 브랜치명이 아니라 어떤 번호로 되어있어서 내 브랜치로 switch 하려고 했는데

 

fatal: cannot switch branch while rebasing

 

이렇게 떠서

 

git rebase --continue

 

Successfully rebased and updated refs/heads/LeeYeIn.

이렇게 성공 메시지가 뜨면서 자연스럽게 내 브랜치로 바뀌어 있었다

 

rebase를 통해서 충돌되는 부분을 해결하고 최종적으로 내 로컬에 있는 내용들을 푸시할 수 있었다.

 

rebase란 하나의 브랜치가 다른 브랜치에서 파생되서 나온 경우, 다른 브랜치에서 진행된 커밋을 다시 가져와서 base를 재설정하는 것이다. 새로운 커밋을 기반으로 작업을 함으로써 파생된 브랜치는 병합시에 conflict 없이 자신의 브랜치에 진행된 커밋을 반영할 수 있다. Merge 와 다르게 conflict 를 하나씩 다 머지 해주어야 한다는 번거로움이 있다고 하지만 이 부분이 단점이 될 수도 장점이 될 수도 있다는 점!

반응형