이 코드의 의미를 이해하려고 노력 중입니다.
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