깃헙에 푸시를 하는 과정에서 "현재 브랜치의 끝이 리모트 브랜치보다 뒤에 있으므로 업데이트가 거부되었습니다"
라는 오류 메세지를 만나게 되었다.
이전에도 이런 오류 메세지를 접한 적이 있어서, 해결하는 방법을 정리해두려고 한다.
사실 아직 문제의 원인을 정확하게 모르겠지만, 과거에 커밋했던 이력과 현재 내가 커밋을 하려고하는데 충돌이 발생해서 이러한 문제가 난다는 것을 짐작할 수 있었다.
이를 해결을 하는 방법을 구글링 해보니 3가지 방법을 찾을 수 있었다.
1) Git Repository에서 과거 Commit내역 삭제하기
: 과거에 커밋했던 것들을 날려버려도 상관 없다면, 본인의 레파지토리에 들어가서 브랜치로 올렸던 과거 커밋 내역을 삭제하는 방법이 있다.
2) Git push origin feature_team — force
: Push 뒤에 —force 를 붙여주면, 과거 커밋 내역과 상관없이 지금 현재 커밋내용으로 덮어씌워 버리는 명령어로 해결하는 방법이 있다.
3) pull로 해결
: pull 명령어로 해결하는 방법이 있다.
git checkout master git pull origin master git checkout 내가 작업한 브랜치 git merge master
👉🏻 —force 명령어를 사용할 때는 현재 커밋내용으로 덮어씌워 버리니 주의를 하고 사용해야할 것 같다.