오늘 제대로 Github repository 연결하고 push, pull 하는 것도 실습을 해봤는데 예상치 못한 오류들이 발생해서 구글링으로 해결 방법 찾아보느라 나도 그렇고 페어님도 그렇고 애를 많이 썼다ㅠ.ㅠ 사실 끝까지 해결 못 했으면 찝찝하고 개운한? 마무리가 안됐을 것 같은데 극적으로 시간 종료 직전에 해결이 됐다!! 힘들긴 했지만 문제 해결하면서 공부도 되고 많이 배울 수 있었던 좋은 경험이었다. 왜 부딪히면서 배우는 거라고 했는 지 알 것 같았던ㅎㅎ
(코드 스테이츠에서 올려준 repository는 private이여서 그런지 뭐가 문제인지 잘 모르겠지만 오류가 넘 많아서 아예 새로 repository를 만들고 진행했다.)
문제 상황
페어님과 내 깃헙 계정을 연결하고 내 local에서 파일 내용을 수정하고 add → commit → push까지 잘 완료가 된 상황이었다. 그리고 페어님 로컬에서 git bash 화면에 git pull pair master 이라고 입력했는데 아래와 같은 오류 메시지가 떴다.
fatal: refusing to merge unrelated histories
검색해보니까 이런 오류는 서로 관련 없는 저장소를 합칠 때 git이 거부해서 발생한다고 하는 현상이라고 한다.
그래서 아래의 명령을 입력하면 정상적으로 작동한다는 것을 알 수 있었다.
$ git pull 원격저장소경로명 브랜치명 --allow-unrelated-histories
예시)
$ git pull origin main --allow-unrelated-histories
그러나 페어 프로젝트의 경우 상대방의 원격 저장소 경로로부터 pull 해오는 것이기때문에 다음과 같이 입력해줬다. 서로의 원격저장소 이름은 pair로 지정해놨었고 나랑 페어님 둘 다 master 브랜치로 업로드 했던 상황이기때문에 저장소 명은 pair로, 브랜치 명은 master로 적어줬다.
$ git pull pair master --allow-unrelated-histories
이렇게 입력하니까 linux cli 실습 때 봤던 nano 화면이 뜨긴 했지만 엔터 누르니까 pull이 완료됐다.
그리고 페어님 로컬 디렉토리 확인해봤는데 정상적으로 내 github repository에 있던 파일이 페어님 로컬에 다운 받아진 것을 확인했다.
다음에 프로젝트를 하다가 여럿이서 repository 연결할 때 이런 오류가 발생하면 그 땐 좀 더 쉽게 해결할 수 있을 것 같다.
'개발공부 > Error Handling' 카테고리의 다른 글
Spring Security 'ClientRegistrationRepository' that could not be found. 해결 (1) | 2022.10.02 |
---|---|
[AWS] EC2 서버 배포 오류 해결 (0) | 2022.08.29 |
Windows 환경에서 mkcert 설치 오류 해결 (localhost https 인증서) (0) | 2022.07.21 |