저(著)

git - 불필요한 로컬 브랜치 제거

쪼랩전사 2022. 2. 8. 22:35
728x90

회사에서 일할때도 집에서 혼자 프로젝트를 진행할때도 git을 기본으로 사용한다.

 

코드를 변경해야 할 때, main(이전에는 master)에서 브랜치를 만들고 해당 브랜치에서 코드 변경 후에 머지한다.
그런데 필자가 귀찮아서 인지, 계속해서 로컬에 머지했던 브랜치가 쌓인다.

 

브랜치를 변경해야할때 여러개에서 선택하는것도 귀찮다. 그래서 필요없는 브랜치를 전부 삭제하는 방법을 소개한다.

git fetch -p && for branch in $(git branch -vv | grep ": gone]" | awk "{print $1}"); do git branch -D $branch; done

 

git fetch -p

remote 서버에서 브랜치 정보를 업데이트한다. 이때, 이미 가져 온 것 중 remote에서 사라진 것을 제거한다.

 

git branch -vv

브랜치 정보를 조회한다. 이때, remote에는 없지만 local에 있다면 gone 이라고 표시된다.

 

grep ": gone]"

위에서 gone 된 브랜치만 필터한다.

 

awk "{print $1}"

1번째 필드만 출력한다.

 

git branch -D $branch

해당 브랜치를 삭제한다.

'저(著)' 카테고리의 다른 글

nextcloud - 비밀번호 초기화  (0) 2022.03.01
alias  (0) 2021.12.06
Archlinux mirrorlist ranking  (0) 2021.11.29
systemd timer  (0) 2021.11.07