[Git] error: failed to push some refs to 에러 해결

Hoehenflug·2022년 2월 27일
1

❎ error: failed to push some refs to 에러에 대해 해결해보자!


❌ error: failed to push some refs to 에러 발생

원격저장소(github)에 내 로컬에 있는 작업 내용을 push하려고 하는데 이런 에러가 발생했다.

❓ 에러의 원인

이 에러는 원격저장소(github)에 내 로컬에는 없는 파일이 있을 때 내 파일(작업 내용)을 push하려고 할 때 발생한다!

나의 경우 github에 수정한 내용을 push하려고 했지만 팀원이 내가 push를 하고자하는 branch에 다른 파일을 올려뒀었다. 그래서 나의 push가 제한된 것이었다.

❗ 에러의 해결

원격저장소(github)에서 내 로컬에 저장하지 않은 파일을 pull한 후 원격저장소에 다시 push를 하면 해결된다.
사실 해결 방법은 상단 이미지를 보면 알 수 있지만 'hint'로 알려준다. push하기 전에 git pull... 을 하라고 친절히 알려준다.
즉,

  1. git pull
  • 원격저장소에 있는 파일을 내 로컬로 가져와야 한다 = 원격저장소를 pull!
git pull {원격저장소 별칭(보통 origin)} master
  1. git push
  • 이제 push가 가능해졌으니 add, commit, push를 해서 나의 수정사항을 반영하면 된다.
git push {원격저장소 별칭(보통 origin)} master

💪🏻 기록

사실 이 에러는 github에 프로젝트를 push를 할 때 몇 번 봤던 에러다. 제일 처음 에러를 봤을 때는 'push를 해야하는 상황인데 pull을 먼저 하라고..? 그럼 내 로컬에 있는 코드들은..? 날아가는건가?...'하는 생각을 했었다. 이 걱정을 안고 해결 방법을 찾아봤을 때 강제 push를 하는 방법도 나오긴 했지만 대부분의 사람들이 입을 모아 '좋지 않은 방법'이라고 했다. (심지어 데이터가 유실돼 repository에 있는 모든 작업이 날아가고 강제로 push한 파일만 남게된 경우도 봤다...)
결국 하위의 다른 branch에 동일한 파일이 push되어 있으니 걱정을 내려놓고 hint대로 pull을 먼저 한 뒤 push를 했지만 다행히! 수정한 내용은 사라지지 않았고(매우 안심) 무사히 잘 push가 됐다. 이후에도 이 해결방법으로 동일한 에러를 잘 해결해왔었고, 오늘도 또 이 에러를 마주해서 잊기 전에 해두는 기록!

0개의 댓글