평소처럼 작업을 하고 git으로 add, commit까지 마친 다음 이제 push를 하려고 하는데 터미널에 오류가 떴다.
"엥? 왜지? 멀쩡하게 작업 잘하고, 구동도 확인했는데?"
그래서 찾아보았다.
오류가 뜨는 이유는 생각보다 단순했지만 중요한 것이었다. 무엇이냐면,
"내 로컬과 레포지토리와의 파일에 차이가 있으니 이대로 push를 하게되면 파일의 변경으로 큰일날 수 있다!"
뭐 이런 것이었다.
그래서 생각보다 해결방법은 간단하다. pull해서 먼저 로컬을 레포와 맞추고, 그 다음 push를 해주면된다.
git pull {remote이름} {branch이름}
위처럼 pull
해준 다음 push
를 진행하면 된다.
git pull origin main
git push origin main
위처럼 해도 안되거나 pull을 안하고 그냥 진행시키고 싶다면 강제로 push를 실행할 수도 있다. 그 명령어는 다음과 같다.
git push -f origin main
이 명령어를 실행하면 경고문없이 바로 push가 가능하다. 단, 이로 인해 발생하는 오류나 파일의 유실은 본인의 책임이라는거~
나는 Readme를 레포에서 바꾸고 이후에 터미널에서 push를 하던 과정에 저 오류가 떴던 적이 있어서 이때는 그냥 다시 readme를 적자는 생각으로 강제 push를 했던 적이 있다.
그래서 문제없이 publish까지 진행했다.
그러나! 이렇게 강제로 push하는 방법은 매우 위험한 방법이니 다들 비추한다고 한다.
그러니 구동파일들에 변경이 있는데 저러한 오류가 떴다면 레포를 다시 한번 확인해보고 필요에 따라선 pull을 한 뒤에 push를 하도록하자!