상황
사용자 A는 organization의 repository에 초기 설정 (git commit template 등..)을 함
사용자 B는 권한 문제로 인해 personal repository에서 git version management를 진행.
권한 문제를 해결한 후, organization repository로 통합하여 진행할 필요가 있었음.
문제
하지만 organization repo가 먼저 initialize돼서, 사용자 B의 repository를 통째로 push할 수가 없었음.
따라서 personal repo의 개발 브랜치에서 organization repo의 개발 브랜치로 merge를 시도.
여기서 "fatal: refusing to merge unrelated histories" 에러 발생
분석
이는 git version management 정보 (히스토리 등..)가 맞지 않아 merge를 할 수 없는 상황임.
사실 서로 다른 repo에서 브랜치들을 병합하는 상황은 일반적이지 않음.
하지만 organization repo가 git issue template등의 아주 적은 init settings만 돼있는 상황이고, conflict는 절대로 일어나지 않겠다라고 판단하여 이를 무시하고 merge할 수 있을까? 에 대해 생각함
해결
"--allow-unrelated-histories" 옵션을 주어 해당 오류를 무시할 수 있음.
하지만 이는 지금처럼 명확하게 conflict 등 side-effect가 나지 않는다고 판단될 때만 사용하길 권장함.