git pull origin <브랜치 이름>
From <깃허브 주소>
* branch <브랜치 이름> -> FETCH_HEAD
fatal: refusing to merge unrelated histories
pull : fetch + merge 작업을 한 번에 처리하는 명령어로 'git pull' 명령어는 'git fetch' + 'merge FETCH_HEAD'를 하는 것과 동일
fetch : 원격 저장소에 있는 내용을 가져오지만 자동으로 내 로컬 저장소에 merge를 하지 않으므로, 내용만 확인하고 로컬에 merge하고 싶지 않을 때 이용
상황 : 브랜치에서 FETCH_HEAD를 merge하는 것이 거부되었다는 에러가 발생. 즉, commit 히스토리가 서로 관련이 없기 때문에 merge를 할 수 없다는 의미가 됨.
해결방법 : 위의 pull 설명과 같이 fetch와 merge를 한번에 처리해야 하지만 현재 fetch만 처리되었으며, merge는 거부된 상태이브로 이를 해결하면 됨. 따라서 기본적으로 merge는 원격/로컬 저장소가 공통으로 가지고 있는 commit 지점이 존재해야 하기 때문에 공통된 커밋 포인트를 만들면 된다는 것.
방법1) git clone 명령어를 통해 원격 저장소 복제 >> pull 명령어에 옵션을 추가해 강제 pull 진행
방법2) 'git pull origin (branchname) -allow-unrelated-histories' 를 통해 pull에 옵션을 추가한다.
'공부 자료 > 깃허브 사용법' 카테고리의 다른 글
| [GitHub] GitHub 디렉터리 화살표시 (폴더 접근 불가) 해결 (0) | 2023.10.30 |
|---|---|
| [Git pull 에러] (0) | 2022.12.24 |
| [GitHub] 깃허브 프로젝트 올리기 (0) | 2022.12.08 |