[Git] #3 Troubleshooting: "There isn't anything to compare"

Yeon·2023년 7월 20일
0

Git

목록 보기
3/6
post-thumbnail

🚨 문제 발생

현재 안드로이드 스튜디오와 깃 허브를 연동해서 사용하고 있다.

분명 안드로이드 스튜디오에서 커밋하고 푸시까지 완료했는데
깃 허브에 들어가서 보면 커밋 기록이 안뜬다ㅠㅠㅜㅠ

그래서 브랜치를 다시 확인해보니 안드로이드 스튜디오에서는 master라는 브랜치에 올리고 있는거.... 난 따로 브랜치를 안 팠는데...😭
branch

GitHub에서 이것저것 눌러보다가 Pull Request를 들어가보니 아래와 같은 문구가 떴다.

Comparing_changes
"There isn't anything to compare. Nothing to compare, branches are entirely different commit histories."

대충 해석해보면
'비교할게 없다. main과 master는 완전 다른 커밋 히스토리이다'...?
이거 어떻게 하라는 거야....


🔎 발생 이유

난 안드로이드 스튜디오에서 master로 push를 했고, 기본 브랜치가 master로 잡혀있어서 main 브랜치에 적용이 안되서 그랬던 것 같다.

원래는 default 브랜치가 master였는데 그 용어가 흑인 문화에서 인종차별적 발언이 될 수 있다는 문제로 master에서 main으로 변경 되었다고 한다.


💡 해결방법

Git Bash에 명령어 입력

Git Bash에 아래의 명령어를 입력하면 해결이 된다!!

git checkout master

git branch main master -f

git checkout main

git push origin main -f

명령어 설명

명령어를 설명해보자면 이렇다.

1) git checkout master 현재 작업 중인 브랜치를 master 브랜치로 변경
2) git branch main master -f main 브랜치를 master 브랜치와 동일한 커밋으로 덮어씀 (-f 강제로 덮어쓰기)

이제 main 브랜치가 master 브랜치와 동일한 커밋을 가리킴

3) git checkout main 브랜치를 main으로 변경
4) git push origin main -f 로컬의 main 브랜치를 origin의 main 브랜치로 강제로 푸시 (origin 원격저장소)

이로 인해 원격 저장소의 main 브랜치가 로컬의 main 브랜치와 동일한 커밋을 가리킴


👍 결과

이건 실제 입력했을 때 실행된 문구!

git-bash


➕ Branch 삭제

이후에 master 브랜치를 로컬과 원격에서 모두 삭제하려면??
이전 글을 확인하면 됩니다!




[참고 사이트]

'[Git] default 브랜치는 master에서 main으로 변경되었음', Gyoogle (규글)

1개의 댓글

comment-user-thumbnail
2023년 7월 20일

글이 잘 정리되어 있네요. 감사합니다.

답글 달기