[Git] 기존 프로젝트에 git repository 연결하는 법

2022. 12. 28. 19:10코딩공부/GITHUB

1. 프로젝트 폴더 내 git init 생성

git init

 

2. GitHub repository 연결

git remote add origin 복사해온깃헙레포url

잘 연결되었는지 확인

git remote -v

 

3. 새 repository에서 내용을 pull 받음으로써 get history를 동기화

git pull origin main

 

4. 새 repository에 파일을 업로드 하기위에 스테이지에 파일 올리기

git add .

모든 파일을 스테이지에 올린다는 뜻

 

5. 최초 커밋

git commit -m "first commit"

 

6. repository에 파일 업로드

git push -u origin master

 

발생했던 error

fatal: refusing to merge unrelated histories

공통된 커밋 포인트가 없어서 발생한 에러

검색 결과 git pull origin master(브랜치이름) --allow-unrealated-histories

강제로 pull하면 된다고 하여 시도해보았으나 

fatal: Not possible to fast-forward, aborting. 

에러가 이어서 발생하였다.

해당 에러의 대표적인 해결 방법인 git pull --rebase를 하였으나

fatal: refusing to merge unrelated histories 에러가 다시 떴다.

더 찾아 보니 git push origin +master 브랜치앞에 +를 더해줘서 해결했다는 글이 있어 해봤더니 해결되었다.

 

알고보니 깃레파지토리 생성시 기본으로 생성된 readme 파일이 있고 로컬에는 해당 파일이 없어서 push가 불가능하여 생긴 에러였다. 

다만, git push origin +master로 강제로 push할 때에는 기존 커밋들이 덮어씌워지거나 사라질 수 있으니 새 레파지토리에 프로젝트를 연결할 때에만 쓰는 것을 권장한다고 한다.

 

** 기존 프로젝트와 깃 레파지토리를 연결할 때에는 깃 안의 readme나 중복될 수 있는 파일을 지우고 합치면 에러를 방지할 수 있다!

 

 

 

reference

https://mosei.tistory.com/entry/%EA%B8%B0%EC%A1%B4-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8%EB%A5%BC-git-repository%EC%97%90-%EC%97%B0%EA%B2%B0-%ED%95%98%EA%B8%B0

https://suzyalrahala.tistory.com/40?category=512269