티스토리 뷰

반응형

 

프론트엔드 팀원 분과 지난 3주간에 걸쳐 협업을 잘 해왔는데 프로젝트가 완성이 되어 가면서 dev에 있는 프로젝트를 main에 merge시키려는 과정에서 아래와 같은 문구가 떴다. 

 

우선 로컬 main에 dev를 merge시키려는 과정에서 발생한 오류인데 왜 연관이 없다고 하는지 몰라 구글링을 했다. 

 

찾아보니 원인은 두 가지라고 한다. 

 

1. 서로 관련 기록이 없는 이질적인 두 프로젝트를 병합할 경우

2. 로컬 저장소와 원격지의 저장소의 기록(History)을 비교했을 때 소스코드의 차이가 심한 저장소의 경우

 

내 경우는 1번에 해당했던 것 같다. 더 찾아보니 로컬에 있던 프로젝트와 깃 저장소에 있던 프로젝트를 깃에서는 서로 다른 프로젝트라고 인식하고 있어서 생길 수 도 있다고 한다.

 

로컬 main브랜치에서 원격 main을 pull 받았으니 이게 깃 저장소에 있던 프로젝트가 되고, 이 상태에서 merge 시키려 하는 dev는 원격 프로젝트이니 충돌이 생긴 것 같다. 

 

아무튼간에 이런 경우에는 소스 트리보다는 아래의 터미널 명령으로 해결하는 게 빠르다. 

 

main branch에서 

 git merge dev --allow-unrelated-histories

 

말 그대로 서로 관련 없는 history들을 허용한다는 뜻이다. 

 

이후에 잘 merge 된 main branch를 원격 main에 push 하면 된다. 

 

반응형