이 맥락에서 gitbranch의 의미를 이해하십시오.

이 맥락에서 gitbranch의 의미를 이해하십시오.

이 코드의 의미를 이해하려고 노력 중입니다.

function git_branch {
    git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ \1/'
}

하지만 이해가 안 돼요. 어떤 분들은 이 코드가 단말기를 설정하기 위한 코드라고 하시는데 저는 이 설정이 잘 이해가 되지 않습니다.

누군가 나에게 이것을 설명해 줄 수 있습니까?

답변1

이 함수는 현재 git 브랜치의 이름을 반환합니다.

구체적으로:

git 브랜치--색 없음

저장소의 분기 목록은 다음과 같이 반환됩니다.

  feature/XYZ-124
* master
  release/1.10
  release/1.11
  release/1.12

sed -e '/^[^*]/d'

"*"로 시작하는 줄을 제외한 모든 줄을 삭제합니다(현재 분기입니다).

* master

그 다음에:

's/* (.*)/ \1/'

지점 이름이 추출됩니다("*" 문자 제외).

 master

>git_branch
 master

답변2

당신의

function git_branch {
    git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ \1/'
}

이해하지 못하는 사람들이 작성한 텍스트 처리 해킹입니다.

git rev-parse --abbrev-ref HEAD

관련 정보