[Git] 브랜치에 push했을 때 잔디가 심어지지 않는 문제

박기영·2023년 6월 29일
0

Git

목록 보기
8/8

udemy 강의를 들으면서 잔디를 관리하기 위해 하나의 레포에 강좌 당 브랜치를 파서 커밋을 했다.
브랜치에 push하는건 잔디가 생성되지 않는다는 것을 알고 있었기 때문에,
이를 해결하기 위해 main 브랜치에 merge를 하려고 했다.
그런데...!
There isn’t anything to compare. main and branch2 are entirely different commit histories.라는 문구가 뜨며, PR 자체가 생성되지 않는 문제가 있었다.
아무래도, 강좌 간 코드가 전혀 겹치지 않아서 비교 대상이 발생하지 않았기 때문인 것 같은데,
이걸 그냥 놔두자니 내가 공부한 기록이 너무 아깝다..
해결 방법을 찾아보자!

문제 상황

참고 이미지

현재 브랜치 상황은 위와 같다.
main 브랜치는 레포 생성 시 만들어뒀던 기본 파일들로 이루어져 있으며,
강의를 들으며 챕터마다 브랜치를 따서 따로 파일을 보관했다.
그리고 잔디를 심기 위해 mainPR을 날리려고 했는데...

참고 이미지

이런 문구가 보이면서 PR 생성 자체가 불가능했다.

간단한 해결 방법으로 생각난 것이
main 브랜치의 내용을 끌어와서 history를 같게 만들고 merge 가능하게 만드는 것이었다.

git pull origin main

하지만 결과는 다음과 같았다.

fatal: refusing to merge unrelated histories

pull부터가 정상적으로 작동하지 않는다.

해결 방법

git pull origin main --allow-unrelated-histories

해결 방법은 생각보다 간단했다.
--allow-unrelated-histories를 활용하는 것이다.
이러면 이전에 보였던 history가 겹치지 않는 문제를 무시한채로 pull이 가능하다.

이후에는 일반적인 pull 상황과 같다.
conflict를 해결하고, 작업 중인 브랜치에 push하는 것 말이다!

참고 이미지

짠! 이제 PR 생성이 잘된다.
merge까지 해주면, 잔디가 심어진 것을 확인할 수 있다 :)

참고 자료

gdtbgl93님 블로그
ehdgnstla님 블로그
gold-dragon님 블로그
humonnom님 블로그

profile
나를 믿는 사람들을, 실망시키지 않도록

0개의 댓글