전제상황

  • 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 --prunegit remote prune origin 둘 중 하나를 쓰면 동기화가 된다.
profile
어두운 밤하늘, 밝은 달빛.

0개의 댓글