일반적으로, pull
또는 fetch
명령어를 통해 가져온 Remote branch 정보는 Remote에서 삭제 되더라도 계속해서 리스트에서 제거되지 않는다.
따라서 이를 제거하기 위해 일반적으로는 git fetch --prune
명령어를 통해 삭제된 branch를 리스트에서 제거하는 작업을 수행한다.
하지만 이와 같은 동작은 Remote branch의 정보만 업데이트하며, checkout된 local branch 목록에서는 지워지지 않는다.
이를 해결하기 위해선 아래와 같은 명령어를 실행하면 손쉽게 해결할 수 있다.
git branch -r |
awk '{print $1}' |
egrep -v -f /dev/fd/0 <(git branch -vv | grep origin) |
awk '{print $1}' |
xargs git branch -d
위의 명령어 입력 시 삭제된 branch의 명단이 나타나며 자동으로 checkout 된 branch가 삭제된다.
'Code > git' 카테고리의 다른 글
[gitlab] Create Merge Request 시 기본 branch명 변경 (1) | 2022.05.17 |
---|---|
[Git] 실수로 날린 Branch의 Commit 복구하기 (0) | 2019.12.06 |
[Git] Sub directory를 새 저장소에 옮기고 sub module로 변경하기 (0) | 2019.07.04 |