Git: 브랜치에 컬러 정보가 포함되었을 때 xargs 와 함께 사용하기

발생일: 2014.05.30

키워드: git, 깃, branch, 브랜치, xargs

문제:
feature 로 시작하는 모든 브랜치를 지우려고 아래와 같이 실행했다.

  $ git branch | grep feature | xargs git branch -D

헌데, 자꾸 없는 브랜치라고 나온다.

왜 일까?


해결책:

내가 git branch 명령의 결과에 컬러가 들어가도록 테마를 적용해두었기 때문이었다.

테마 때문에 `git branch`로 출력되는 브랜치 이름에 컬러 정보가 포함되어 있었다.

  $ git branch | grep feature | od -c

와 같이 실행해보면, 텍스트 앞에 컬러가 들어가 있는 게 보인다.


`branch` 명령의 옵션으로 `--no-color`가 있어 아래와 같이 처리했다.

  $ git branch --no-color | grep feature | git b -D


구버전 깃의 경우, 컬러 제거 옵션이 없는 경우가 있다.
이럴 땐 `grep`에 정규식 옵션을 주어 아래처럼 컬러 정보를 제외하고 처리할 수 있다.

  $ git b | grep -Eo '(feature|hotfix)/[a-z-]+' | git b -D



카테고리

분류 전체보기 (711)
About me. (6)
Daylogs (676)
영어공부 (0)
My works - 추억 (29)
비공개 (0)