Git 오류 해결: fatal refusing to merge unrelated histories
AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

Git 오류: `fatal: refusing to merge unrelated histories`

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

개발 툴

대상자

  • 초보 개발자 및 Git 초반 사용자
  • 로컬과 원격 저장소를 연결할 때 발생하는 오류 해결
  • 난이도: 중간 (기본 Git 개념 이해 필요)

핵심 요약

  • fatal: refusing to merge unrelated histories 오류는 로컬 저장소와 원격 저장소가 공유된 커밋 히스토리가 없을 때 발생
  • 해결 방법: git pull origin main --allow-unrelated-histories 명령어 사용
  • 최선의 실천 방법: git clone으로 원격 저장소를 먼저 클론한 후 작업

섹션별 세부 요약

1. 오류 발생 원인

  • 로컬 저장소와 원격 저장소가 완전히 분리된 역사를 가짐
  • 예: 로컬에서 git init 후 GitHub에 연결하거나, 기존 프로젝트에 새 저장소 초기화
  • 예: 두 개의 완전히 다른 저장소를 병합 시도

2. 해결 방법

  • --allow-unrelated-histories 플래그 사용:

```bash

git pull origin main --allow-unrelated-histories

```

  • 주의: 이 명령어는 로컬 커밋이 원격 저장소에 덮어씌워질 수 있음
  • 대안: git clone을 통해 원격 저장소를 먼저 클론한 후 작업

3. 예방 및 최적 실천

  • 원격 저장소를 사용할 경우 git clone으로 시작

```bash

git clone

cd repo

```

  • 로컬에서 git init 후 원격 저장소 연결 시

```bash

git remote add origin

```

  • 이미 로컬 히스토리가 있는 경우

```bash

git push -u origin main --force

```

  • 주의: 이 명령어는 원격 저장소 히스토리가 완전히 덮어씌워짐

결론

  • 원격 저장소 사용 시 git clone을 먼저 사용하고, 로컬에서 git init은 피해야 함
  • --allow-unrelated-histories 플래그 사용 시 원격 히스토리가 덮어씌워지는 위험을 인지해야 함
  • 항상 최적의 워크플로우를 유지해 이 오류를 예방하세요.