remote
저장소에 push
하려고 할 때 발생하는 오류.
Local
과 Remote
저장소가 서로 일치하지 않을 때 발생한다. 나의 경우는 실수로 .gitignore
처리를 하지 않은 파일을 push
했고, 깃에 미숙했던 탓에 깃허브 내에서 다이렉트로 파일을 삭제하며 로컬 환경과 차이가 발생했다.
올려서는 안되는 파일을 push
한 경우,
git rm
을 이용해 삭제하거나,git reset
혹은 git revert
를 이용해 push
이력 자체를 되돌리는 방법이 있다. 문제가 이미 발생했다면, 가장 좋은 방법은 git pull
을 통해 원격 저장소를 로컬 저장소로 가져와 병합 후, 다시 push
하는 것이다.
pull
은 fetch (원격 저장소로부터 가져오기)
와 merge (서로 차이가 나는 부분을 조정해 병합하기)
가 합쳐진 것으로 한 번에 원격 저장소의 변경 내역을 현재 브랜치에 통합해준다.
그래도 push
에 계속 오류가 발생한다면, git push -f origin
을 통해 강제로 push
하는 방법이 있지만, 로컬과 원격의 충돌을 무시하고 진행하기 때문에 레포지토리를 날려버리게 될 수도 있으니 주의 👾