문제

이에 대한 특별한 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

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top