전제상황
- Local branch(로컬 브랜치) : main
- Remote branch(원격 브랜치) : main, master, feature01, feature02
원인:
- github초대 받고 난 후, branch생성 후 main에 push. 그리고 branch삭제안함. * 3
- 어찌저찌후에 clone해 놓은 파일 삭제후 다시 clone 함.. vscode켜보니 main브랜치 하나뿐.
- github에는 branch가 여러개. github에 있는 branch 삭제하고싶음.
과정:
git remote update
- 원격 브랜치에 접근하기위해 업데이트 먼저 해줘야한다.
git branch
- 위 명령어로 브랜치 확인해보면, 기존에 있는 main브랜치 하나만 존재한다.
git branch -r
- -r
옵션을 주면 원격 저장소의 branch리스트를 볼 수 있다.
git branch -a
- -a
옵션을 주면 로컬, 원격 모든 저장소의 branch리스트를 볼 수 있다.
git push origin --delete (브랜치 이름)
- 원격 저장소의 branch를 삭제하면서 push하는것.
검색하면서 알게 된 명령어
git checkout -t (origin가 붙은 브랜치이름)
- 로컬브랜치에 없지만, 원격브랜치에 있는 브랜치를 갖고 오려면 이 명령어를 사용하면 된다.
검색하면서 알게 된 지식
- 로컬에서
git branch -r
명령어로 보여지는 remote branch는 실제 remote저장소의 branch가 아니다. remote저장소의 branch를 바라보는 참조내역이라고 보면 된다.
- 원격저장소의 branch가 삭제되어도 로컬에서
git branch -r
로 나오는 list는 변화가 없다. 이때는 git fetch --all --prune
나 git remote prune origin
둘 중 하나를 쓰면 동기화가 된다.