Github

[Git] Remote 저장소에 추가되거나 삭제된 브랜치가 로컬에 적용안될 때

그래놀라_ 2021. 7. 21. 13:31
* issue
develop 브랜치 사용 후 Github에서 삭제, 로컬에서 git branch -D develop으로 삭제 했는데 git branch -r로 조회시 삭제가 반영되지 않고 그대로 나옴

 

 

Github에서 Remote 저장소 브랜치 항목 확인 → develop 브랜치 없음

 

 

로컬에서 브랜치 항목 확인 → develop 브랜치 없음

$ git branch

 

 

하지만 터미널에서 Remote 브랜치 조회시 삭제된 develop 브랜치가 반영이 안 된 상태 

$ git branch -r

로컬에서 git branch -r 로 보이는 브랜치들은 실제 remote 저장소의 브랜치가 아니라 참조내역이라 보면 됨

따라서 원격저장소의 브랜치가 삭제되어도 로컬에서 git branch -r 로 나오는 브랜치에는 변화가 없다. 

 

 

Remote 저장소에 추가되거나 삭제된 브랜치가 로컬에 적용안될 때

$ git fetch --all --prune
$ git remote prune origin

둘 중 하나를 입력하면 동기화가 된다.

 

동기화되어 develop 브랜치 사라짐

 

 

Local 에서 Remote 브랜치 제대로 삭제하기

 1. Local Branch 삭제

 git branch -d <branch_name>

 

 2. Remote Branch 삭제

git push origin --delete <branch_name>
git push origin :<branch_name>

 * 실행하지 않고 결과만 보려면 명령문 뒤에 --dry-run을 붙이면 된다

 

.출처: https://remagine.tistory.com/17