pre-onboarding에 제출할 과제를 만들다가,
원격저장소를 설정하고,
git remote add origin
git-url
git push -u origin master
로 설정한게 기억나, -u 명령어에 대해 찾아보았다.
u는 upstream
의 약자로, 매번 명시적으로 원격분기를 설정할 필요 없이, 사용자가 상호작용하려는 의도의 명령어이다.
평소대로 commit 과 함께 push하려던 나는 -u옵션을 설정한게 기억나서, git push
로 간편하게 push하려고 했었다.
그런데 갑자기 내 원격 저장소에 main
branch가 생겼고, 내가 한 오늘치의 커밋이 master가 아닌 main브랜치로 옮겨졌다.
졸지에 나는 어제까지 작업한 master브랜치와, 오늘 작업한 분량의 main브랜치를 둘 다 가지게 된 것이다.
나는 두 브랜치의 합친 커밋 내역을 보고 싶었지, 따로 보고싶지 않았다.....😢그래서 병합할 방법을 찾아보게 되었다.
처음에는 단순히 병합하면 되겠지! 하면서 각자의 브랜치를
git fetch origin
git pull origin '브랜치명'
한 후 병합시도 했었다.
하지만 병합을 시도하자, 이런 오류가 떴다.
이런 오류는 처음 봐서, 이리저리 찾아본 후 다시 시도해봤는데,
내가 한 시도는
git merge main --allow-unrelated-histories
이었다. branch는 master에서 시도했다.
두 브랜치가 공통의 조상이 없을때도 병합을 허용하는 옵션이다.
나는 혼자 진행하는 프로젝트였기 때문에 고민없이 썼지만,
공동프로젝트일 경우 충분한 상의와 함께 사용을 고려해야 할 것 같다.
위의 명령어를 쓴 후, 다시 push 해주었더니 잘 들어갔다.