문제
이에 대한 특별한 git 명령을 찾아보았지만 찾을 수 없습니다.누구든지 다음보다 짧거나 빠른 것을 제안할 수 있습니까?
git branch | awk '/\*/ { print $2; }'
해결책
$ git rev-parse --abbrev-ref HEAD
master
이것은 GIT 1.6.3 또는 최신에서 작동해야합니다.
다른 팁
GIT 1.8.1에서는 사용할 수 있습니다 Git Symbolic-Ref "-short"옵션으로 명령 :
$ git symbolic-ref HEAD
refs/heads/develop
$ git symbolic-ref --short HEAD
develop
당신은 출력에 관심이있을 수 있습니다
git symbolic-ref HEAD
특히, 귀하의 요구와 레이아웃에 따라
basename $(git symbolic-ref HEAD)
또는
git symbolic-ref HEAD | cut -d/ -f3-
그리고 다시 있습니다 .git/HEAD
당신에게도 관심이있을 수있는 파일.
Git 2.22(2019년 2분기)를 사용하면 더 간단한 접근 방식을 갖게 됩니다. git branch --show-current
.
보다 0ecb1fc 커밋 (2018년 10월 25일) 다니엘스 우마노프스키스(umanovskis
).
(병합자: 주니오 C 하마노 -- gitster
-- ~에 3710f60 커밋, 2019년 3월 7일)
branch
:소개하다--show-current
표시 옵션다음과 같이 호출할 때
--show-current
,git branch
전류를 인쇄합니다. 분기 이름 및 종료.
제외하고 실제 이름만 인쇄됩니다.refs/heads
.
분리된 HEAD 상태에서는 아무것도 출력되지 않습니다.스크립팅 및 대화형/정보 제공용으로 사용됩니다.
같지 않은git branch --list
, 지점 이름을 얻기 위해 필터링이 필요하지 않습니다.
이것은 내가 방금 우연히 발견 한 오래된 실입니다. 내가 말할 수있는 바에 따르면, Git의 현재 지점 만 기본적으로 보여줄 방법이 없으므로 다음을 사용하고 있습니다.
#> git branch | grep '*'
나는 이것이 빠르고 Python API와 함께 사용될 수 있다고 생각합니다.
git branch --contains HEAD
* master
사용 중입니다
/etc/bash_completion.d/git
그것은 git과 함께 제공되며 지점 이름과 인수 완료를 프롬프트합니다.
이것은 짧지는 않지만 분리 된 가지도 다룹니다.
git branch | awk -v FS=' ' '/\*/{print $NF}' | sed 's|[()]||g'
완전성을 위해 echo $(__git_ps1)
, 적어도 Linux에서는 괄호로 둘러싸인 현재 지점의 이름을 알려야합니다.
이것은 GIT 명령이 아니기 때문에 (GIT에 따라) 유용 할 수 있습니다. 특히 BASH 명령 프롬프트를 설정하여 현재 지점을 표시합니다..
예를 들어:
/mnt/c/git/ConsoleApp1 (test-branch)>echo $(__git_ps1)
(test-branch)
/mnt/c/git/ConsoleApp1 (test-branch)>git checkout master
Switched to branch 'master'
/mnt/c/git/ConsoleApp1 (master)>echo $(__git_ps1)
(master)
/mnt/c/git/ConsoleApp1 (master)>cd ..
/mnt/c/git>echo $(__git_ps1)
/mnt/c/git>
그냥 사용합니다 git branch
나를 위해 일합니다.
GIT 버전 : 2.13.2