반응형
회사에서 PR 검토를 도입하면서(예전엔 그냥 로컬에서 작업해서 바로 브랜치에 머지했었음) 수많은 브랜치를 만들었다 지우기를 반복하게 되었다. 나는 이런 거 잘 안 남겨 놓는 스타일이라 원격은 pr 머지되면 자동으로 지워지게 설정해 놓고 로컬도 바로바로 지우지만 그럼에도 가끔 까먹고 안 지우는 경우도 있었다.
그러다가 우연히 원격에 없는 로컬 브랜치를 자동으로 정리해 주는 커스텀 명령어를 발견해서 소개해 본다.
git config --global alias.gone "! git fetch -p && git for-each-ref --format '%(refname:short) %(upstream:track)' | awk '\$2 == \"[gone]\" {print \$1}' | xargs -r git branch -D"
위 명령어로 git 커스텀 명령어를 등록할 수 있다. 리눅스와 윈도우 모두 사용할 수 있으며 만약 파워셸을 사용 중이라면 이스케이프 문자 차이 때문에 아래 명령어로 등록해야 한다.
git config --global alias.gone "! git fetch -p && git for-each-ref --format '%(refname:short) %(upstream:track)' | awk '`$2 == `\`"[gone]`\`" {print `$1}' | xargs -r git branch -D"
이렇게 한번 등록하고 나면 아래 명령어로 커스텀 명령어를 사용할 수 있다.
git gone
명령어를 실행하면 원격에서 삭제된 로컬 브랜치를 모두 삭제하고 목록을 띄운다.
출처: https://www.erikschierboom.com/2020/02/17/cleaning-up-local-git-branches-deleted-on-a-remote/
반응형
'프로그래밍 > 기타' 카테고리의 다른 글
[Batch] 관리자 권한 획득하기 (0) | 2024.04.28 |
---|---|
포크한 리포지토리를 원본과 동기화 하기 (0) | 2022.04.09 |
[Shell Script] 윷놀이 (0) | 2019.06.29 |
[Batch] 파일 다운로드 (3) | 2018.11.08 |
[Batch] help 명령어에 안나오는 명령어 모음 (0) | 2018.11.07 |
[VBS] 키보드 매크로 만들기 (1) | 2018.10.28 |
[Batch] 몇 비트 운영체제 사용 중인지 확인하기 (0) | 2013.11.01 |
CMD 부분적으로 색깔 바꾸기, cmdclr.exe (0) | 2013.08.09 |