[Git] ! [rejected] 오류 해결

Bien·2023년 12월 19일
0
post-thumbnail

1. ![rejected] main-> main (fetch first)


로컬 저장소에 있는 프로젝트를 GitHub에 있는 원격 저장소에 처음으로 push 하려고 할 때 (git push -u origin main) 위 사진과 같은 오류가 발생했다.
[rejected] main-> main (fetch first)
처음에는 예상치 못한 오류에 당황 했지만 로그가 제법 친절해서 로그를 보니 원격에 있는 변화를 통합하기 위해 git pull 을 하면 된다고 해서 pull 을 하고 다시 git push -u origin main를 했는데...

2. ![rejected] main-> main (non-fast-forward)

아니 선생님 ...
살펴보니 이건 내 로컬 git 브랜치가 원격 브랜치보다 뒤라서 push가 안된다는거 같다. pull을 했는데 왜?

생각해보니 위에서 git pull을 했을때 잘 된게 아니라

이런 문제가 있었다... 이걸 무시하고 다시 git push -u origin main를 하니까 문제가 또 생기지🙄...

그래서 이번에는
$ git pull origin main --allow-unrelated-histories
을 사용해서 관련 없는 두 저장소를 병합하도록 허용해주었다.

 * branch            main       -> FETCH_HEAD
Merge made by the 'ort' strategy.
 README.md | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 README.md

이번에는 잘 된거 같다 main 브랜치를 원격 저장소에서 로컬 저장소로 가져왔고, ort 전략으로 병합 작업을 수행했으며(...ort가 뭔지는 추후 공부가 필요할거 같다), 따라서 README.md 파일이 잘 생성된거 같다.

$ git push -u origin main 이후 다시 해당 명령어를 수행하였고, 이번에는 push가 잘 이루어 졌다.

아마도 GitHub에 레파지토리를 만들면서 README.md파일을 추가했는데 이에 대한 제대로 된 과정이 없이 push 작업을 시도한게 주 원인 같다.

현업에서 일을 하고 있지만 svn을 사용해서 그런가 git과 GitHub에 대해서는 쉽게 익숙해지지 않는다. 아무래도 자주 git 명령어를 사용해보고 로컬저장소와 원격 저장소에 pull, push를 해보고 다양한 오류를 해결해보면서 익숙해져야 할거 같다.

profile
🙀

0개의 댓글