git 저장소 옮기기(feat. git push error)

pixgram·2023년 7월 17일
0

유튜브 영상을 보다가 따라해보고 싶어서 공개된 github 주소에서 clone을 한 다음에 작업을 하고 내 github에 push를 하려고 했는데 에러가 발생했다.

내 깃 저장소로 리모트 주소 바꾸기

git remote set-url origin <나의 깃주소>

//확인
git remote -v

push 하기

git push

// error
! [rejected]        main -> main (fetch first)
error: failed to push some refs to 'github.com:.....git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

저장소의 현재 버전과 내 로컬에 있는 버전이 맞지 않아서 이걸 해결해줘야 한다는 내용이다. 신규로 만든 프로젝트와 기존에 있는 프로젝트가 같은 조상을 바라보지 않아서 서로 다른 프로젝트라고 인식하는것을 병합하여 하나의 프로젝트로 만들어 주어야 한다.

pull 하기

git pull origin main --allow-unrelated-histories

저장소를 만들때 readme.md를 만들었는데 로컬에는 readme.md가 없다면 pull이 되지 않는다. 커밋 이력이 서로 다르기 때문이다. --allow-unrelated-histories 옵션은 서로 관련 기록이 없는 이질적인 두 프로젝트를 병합하는것을 허용하겠다는 의미이다.

위 명령을 실행하면 아래와 같은 결과가 출력된다.

Merge made by the 'ort' strategy.
 README.md | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 92 insertions(+)
 create mode 100644 README.md

원격저장소에 push 하기

git push origin main

// git push만 해줘도 자동으로 원격저장소에 push가 된다.
git push

위 과정을 거쳤다면 push가 잘 된다.

profile
Interactive Front-end Developer and WebGL Artist

0개의 댓글