코드스테이츠의 Pre Project는 Stack Over Flow 웹 사이트를 클론하는 것이다. 프로젝트의 첫 날은 웹 사이트 분석을 하고, 기획과 설계를 진행하기로 했다.
팀원분이 main 브랜치에서 dev 브랜치를 생성하고, push를 하셨다.
repository에서는 dev가 확인 되는데 git clone으로 받아온 파일에서 git branch 명령어로 로컬 브랜치를 조회하니 main 브랜치만 나왔다.
git branch -r 명령어로 원격 브랜치 목록 조회하니 dev와 main 브랜치가 있는 것이 확인됐다.
팀원분께 여쭤보니 dev로 switch하면 아마 확인 될 것이라는 말에 해보니 바로 되었다!!
이후에 검색해보니 git clone으로 받아오게 되면 origin/main branch를 tracking 하고 있는 main branch만 존재하게 된다고 한다.
이 때, clone의 결과로 origin이란 이름으로 remote repository가 등록 되게 되므로 remote-tracking branch가 등록된다.
git switch 명령어를 사용하게 되면 단순히 브랜치를 이동하는 것이 아니라 로컬에 브랜치가 있으면 해당 브랜치로, 없으면 remote에서 가져오는 것이었다.
맨 위에 branch 'dev' set up to track 'origin/dev' 가 바로 로컬에 해당 브랜치가 없어서 remote에서 가져와서 쓰겠다는 뜻이었던 셈이다.
한 개의 branch만 clone 받는 명령어인 git clone -b [branch_name][remote_URL] 을 사용하여 dev 브랜치만 받는 방법도 좋은 방법인 것 같아 시도해보니 dev 브랜치로 잘 클론 받아온 것을 확인할 수 있었다.