! [rejected] master -> master (non-fast-forward)

- 원인 : 로컬 브랜치가 원격 브랜치보다 뒤에 있기 때문에 발생
- 원격 저장소의 최신 커밋을 로컬 저장소로 가져오고, 이를 병합한 후 다시 푸시해야함
- 기본적인 해결 방법
- 원격 브랜치에서 최신 변경 사항을 가져오기 :
git pull origin master
- 변경사항을 푸시하기 :
git push origin master
- 자세한 단계
- 원격 저장소에서 변경 사항 가져오기 :
git fetch origin
- 원격 브랜치와 병합하기 :
git merge origin/master
- 원격 브랜치의 최신 변경 사항을 로컬 브랜치에 병합하는 단계
(만약 충돌이 발생하면, 해결한 후 커밋하기)
- 1,2 단계를 합친 것이 기본 해결방법의 1단계에 해당!
- 변경 사항 푸시하기 :
git push origin master
- 나의 경우에는 git 저장소에는 아무것도 올라가져 있지 않은 상황이었는데, Intellij IDE에서는 commit과 push가 완료된 상태였다.
따라서, 위와 같은 방법으로 해결할 경우, 지금까지 작성했던 코드들이 사라질 거 같아서 다른 방법으로 시도하였다.
- 해결방법 : 강제 push하기 (위험한 방법)
git push origin +master
- 원격 브랜치의 기록을 로컬 브랜치로 덮어쓰므로 주의해서 사용해야 한다.

참고 사이트 : https://despiteallthat.tistory.com/84