반응형
평소와 같이 코딩을 한 후에 로컬 저장소에서 원격 저장소로 git push를 했는데 에러가 발생하였다.
열심히 구글링 한 결과, 문제 원인과 해결 방법을 알아냈다.
! [rejected] main -> main (fetch first)
원인
로컬 저장소와 원격 저장소가 동기화되지 않아 발생하는 문제이다.
기존 데이터가 손실될 수 있기 때문에 push를 막은 것이다.
나의 경우 README.md 파일을 만들고 동기화하지 않아 문제가 발생하였다.
해결 방법
해결 방법에는 2가지가 있다.
1. 동기화 후 push 진행
git pull --rebase origin main #git pull --rebase [원격저장소별칭][브랜치]
git push
2. 강제로 push 진행
git push origin +main
2번의 경우 pull을 하지 않은 변경 사항은 삭제되기 때문에 주의해야 한다.
나는 1번으로 입력하여 동기화를 하고 push를 하였다. pull을 함으로써 README.md 파일이 원격 저장소에 나타났고 커밋 내역은 변경되지 않은 채 기존에 push한 내역 그대로 업로드되었다!
반응형
'Git' 카테고리의 다른 글
[Git] Github 저장소 clone 하기 (+ 특정 브랜치) (0) | 2023.03.01 |
---|---|
[Git] remote: Invalid username or password 에러 해결 방법 (2) | 2022.07.06 |
Github에서 README.md 파일 작성하기 (마크다운 문법, 파일 업로드) (0) | 2022.06.12 |
.gitignore 알아보기 (+사용법) (0) | 2022.06.05 |
깃(Git) 그리고 깃허브(GitHub)란? (0) | 2022.06.04 |