여러 브랜치를 일괄 삭제하고 싶습니다.
어려움
눈치채면 수중에 브런치가 많이 존재한 상태가 되어, 1개씩.. 동료에게 같은 고민이 없는지 들었는데, master 등 특정 브랜치 이외를 일괄 삭제하는 스크립트를 사용하는 것이었지만, 그렇다면 작업 중인 브랜치도 삭제되어 버리므로 자신의 기대 거리가 아니었습니다.
$ git branch
hoge
hoge1
* hoge10
hoge2
hoge3
hoge4
hoge5
hoge6
hoge7
hoge8
hoge9
master
하고 싶은 일
해결 방법
과제는 브랜치 리스트상에서 임의의 브랜치를 복수개 선택하는 방법이었지만, peco (을)를 사용하는 것으로 간단하게 할 수 있었다. peco에는 여러 줄 선택 기능이 있었으므로 브랜치를 여러 개 선택할 수있었습니다. 그리고는 git의 브랜치 삭제 커멘드에 건네주면 해결. git의 alias 설정을 해 두는 것으로 곧바로 호출할 수 있도록(듯이) 했다.
git branch -d hoge
를 선호로 설정하십시오.[alias]
select-delete-branch = !git b -D $(git branch | grep -v '*' | grep -v master | sed 's/ //g' | peco)
실행 예
$ git branch
aaa
bbb
ccc
ddd
eee
fff
* master
$ git select-delete-branch
# 以下が表示されるので Control + Space で複数選択をする
QUERY> IgnoreCase [6 (1/1)]
aaa
bbb
ccc
ddd
eee
fff
# エンターキーを押すと以下のように一括で削除される
Deleted branch aaa (was 3d9df20).
Deleted branch bbb (was 3d9df20).
Deleted branch ccc (was 3d9df20).
Deleted branch ddd (was 3d9df20).
Deleted branch eee (was 3d9df20).
Deleted branch fff (was 3d9df20)
굉장히 편리~!
select-delete-branch
가 다른 앱에서 사용 중이면 peco의 키맵 설정을 변경할 수 있습니다.요약
실은 처음은 쉘 스크립트 그리고 같은 일을 하고 있었습니다만, 기존 라이브러리로 보다 편하게 할 수 있는 것은? 라고 생각하고 있으면, peco로 바삭하게 할 수 있었다. peco, 편리하네요.
Reference
이 문제에 관하여(여러 브랜치를 일괄 삭제하고 싶습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hypermkt/items/ee8d516991ea0c00f347텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)