새로운 기능을 만들고
깃허브에 새로운 브랜치를 파서 등록하려는데 오류가 생겼다.

upstream branch(원격 브랜치)가 없다고 한다!
upstream branch(원격 브랜치)란?
원격 브랜치(remote branch)란 로컬 저장소가 아닌 원격 저장소에 있는 브랜치를 가리킵니다. 원격 저장소에는 보통 중앙 저장소(GitHub, GitLab, Bitbucket 등)가 있으며, 여러 사용자가 협업하고 코드를 공유하는 데 사용됩니다.
로컬 저장소에서 작업할 때, 원격 저장소의 브랜치를 로컬에 복제(clone)하여 가져올 수 있습니다. 이 때 가져온 브랜치를 로컬 브랜치로 사용하거나, 원격 저장소의 브랜치와 연동하여 변경 사항을 동기화할 수 있습니다.예를 들어, main 브랜치를 원격 저장소에서 가져와서 로컬에 main이라는 이름의 브랜치로 사용하는 경우, 이 main 브랜치는 로컬 브랜치입니다. 반면에 원격 저장소의 main 브랜치를 직접 참조하여 사용하는 경우, 이 main 브랜치는 원격 브랜치입니다.
원격 브랜치를 사용하면 여러 사용자가 동일한 코드베이스를 공유하고 변경 사항을 추적하며, 협업할 수 있습니다. 변경 사항을 푸시(push)하여 원격 저장소에 반영하거나, 풀(fetch)하여 로컬에 업데이트할 때 원격 브랜치가 중요한 역할을 합니다.
-ChatGPT
원격 브랜치에 대한 설명을 듣고 나니 내가 무슨 잘못을 했는지 알 수 있었다.
문제 해결 과정
지금까지 코드를 짠 걸 새로운 브랜치에 올리고 싶었다.
1. main branch에서 git switch -c를 사용해 새로운 브랜치를 만들고 이동했다.

2. 깃 사용을 위한 기본적인 명령어들
git init
git add .
git commit -m "[feat] 문제 추천 UI 구현"
여기까지는 멀쩡하게 잘 되었다.
3. 문제의 구간
git push
새로운 branch를 만들고 처음 push하는 상황이라 upstream이 설정되지 않은 상태이다.
upstream branch를 설정해주고(origin) 그에 맞는 branch명을 포함해 명확하게 올려야겠다.
문제 해결
git push --set-upstream origin feature/recommend
기초적인 오류다!
깃은 나름 써봤다 생각했는데 첫 협업이라 그런지 잘 몰라서 실수하는 부분들이 좀 있는듯,.
평생 사용할 명령어가 될 테니 언젠가 날잡아서 자주 쓰는 명령어들에 대해 정리해봐야겠다.
또한 자주 깃허브에 push하는 습관을 들여야겠다는 생각도 든다. 한 작업을 마무리하고 올리고 싶다는 욕심에 시간이 많이 흘러 main branch와 병합 시 충돌이 나 직접 손으로 병합시키는 일이 있었다.
화이팅!
728x90
'코딩 > 코드국민 (진행중)' 카테고리의 다른 글
| 카테고리 분류하는 사이드바 만들어보기 (0) | 2024.03.05 |
|---|---|
| code ERESOLVE 에러 해결 (0) | 2024.03.03 |
| code ECONNREFUSED 에러 해결 (2) | 2024.02.29 |