GitHub로 푸시하려고 할 때 rejected 에러가 발생한 이유는 원격 저장소에 로컬에 없는 변경 사항이 존재하기 때문입니다. 이는 보통 새로 생성한 GitHub 저장소에 기본 README.md나 .gitignore 파일을 추가했을 때 발생합니다.
원격 변경 사항 가져오기
먼저 원격 저장소의 변경 사항을 로컬로 병합해야 합니다.
git pull origin main --allow-unrelated-histories --allow-unrelated-histories
옵션은 서로 관련이 없는 두 저장소 이력을 병합할 때 사용합니다.
현재 병합중이 상태 확인
git status
: 상태 메시지가 병합 충돌 또는 병합 대기 중과 같은 메시지를 표시합니다.
병합 메시지 커밋
vi 에디터를 사용하지 않고 병합 커밋을 바로 완료하려면 아래 명령어를 사용하면 됩니다.
git commit --no-edit
병합 후 푸시
git push -u origin main
모르고 ds 랑 gitignore를 올려서 발생한 문제였다. 다음엔 주의해서 깃헙에 올려야겟다.
또한, 프로젝트 시작 시에 gitignore에 미리 설정해두는 것이 나을 것 같다는 생각이 들었다.