Git에서 현재의 지점명을 취득하려면 어떻게 해야 하나요?
Git에서 현재 지점 이름은 어떻게 알 수 있나요?
현재 분기의 이름만 표시하려면:
git rev-parse --abbrev-ref HEAD
레퍼런스:Git에 현재 분기만 표시
git branch
레포의 모든 로컬브런치를 표시합니다.별표가 붙은 브랜치가 현재 브랜치입니다.
현재 지점 이름만 가져오려면 다음 절차를 따릅니다.
git rev-parse --abbrev-ref HEAD
또는 Git 2.22 이상:
git branch --show-current
,도,git symbolic-ref HEAD
재스펙
Git v1.8 이후 브랜치 이름만 표시하려면 (그렉에게 알려줘서 고마워)
git symbolic-ref --short HEAD
Git v1.7+에서는 다음 작업도 수행할 수 있습니다.
git rev-parse --abbrev-ref HEAD
지점에 있는 경우 두 지점 모두 동일한 지점 이름을 지정해야 합니다.만약 당신이 분리된 머리 위에 있다면 답은 다릅니다.
주의:
이전의 클라이언트에서는, 다음과 같이 동작하고 있는 것 같습니다.
git symbolic-ref HEAD | sed -e "s/^refs\/heads\///"
- Darien 26. 2014년 3월
참고로 이 스레드에 기재되어 있는 대부분의 (기본 명령줄) 테크닉의 개요를 설명했습니다.각각은 몇 가지 사용 예에 적용됩니다.HEAD는 다음과 같습니다.
- 로컬 브랜치(마스터)
- 리모트 트래킹브런치, 로컬브런치와 동기화(마스터와 같은 커밋으로 마스터)
- 리모트 트래킹브런치, 로컬브런치와 동기화되지 않음(syslog/syslog-foo)
- 태그(v1.2.3)
- submodule(서브모듈 디렉토리 내에서 실행)
- 일반 분리 헤드(위 중 하나 없음)
결과:
git branch | sed -n '/\* /s///p'
- 브런치: " " local local:: local:
master
- ★★★★★★★★★★★★★★★★★★★★★★★*
(detached from origin/master)
- "CHANGE: "CHANGE: " (CHANGE:)" (CHANGE:
(detached from origin/feature-foo)
- ★★★★★★
(detached from v1.2.3)
- : " " " " :
(HEAD detached at 285f294)
- 헤드: "Discripted Head" : "Discripted Head" :
(detached from 285f294)
- 브런치: " " local local:: local:
git status | head -1
- 브런치: " " local local:: local:
# On branch master
- ★★★★★★★★★★★★★★★★★★★★★★★*
# HEAD detached at origin/master
- "CHANGE: "CHANGE: " (CHANGE:)" (CHANGE:
# HEAD detached at origin/feature-foo
- ★★★★★★
# HEAD detached at v1.2.3
- : " " " " :
# HEAD detached at 285f294
- 헤드: "Discripted Head" : "Discripted Head" :
# HEAD detached at 285f294
- 브런치: " " local local:: local:
git describe --all
- 브런치: " " local local:: local:
heads/master
- ★★★★★★★★★★★★★★★★★★★★★★★*
heads/master
(주의: 없음remotes/origin/master
) - "CHANGE: "CHANGE: " (CHANGE:)" (CHANGE:
remotes/origin/feature-foo
- ★★★★★★
v1.2.3
- : " " " " :
remotes/origin/HEAD
- 헤드: "Discripted Head" : "Discripted Head" :
v1.0.6-5-g2393761
- 브런치: " " local local:: local:
cat .git/HEAD
다음과 같습니다.- 브런치: " " local local:: local:
ref: refs/heads/master
- : " " " " :
cat: .git/HEAD: Not a directory
- 기타 모든 사용 사례: 대응하는 커밋의 SHA
- 브런치: " " local local:: local:
git rev-parse --abbrev-ref HEAD
- 브런치: " " local local:: local:
master
- 모든 예: " " " " "
HEAD
- 브런치: " " local local:: local:
git symbolic-ref --short HEAD
- 브런치: " " local local:: local:
master
- 모든 예: " " " " "
fatal: ref HEAD is not a symbolic ref
- 브런치: " " local local:: local:
(참고로 이것은 git 버전 1.8.3.1에서 수행되었습니다.)
버전 2.22의 git에서는 다음과 같이 사용할 수 있습니다.
git branch --show-current
설명 페이지:
현재 분기의 이름을 인쇄합니다.분리된 HEAD 상태에서는 아무것도 인쇄되지 않습니다.
또 하나의 대안:
git name-rev --name-only HEAD
간단하게 말하면, 1개의 라이너(배시)로 입수했습니다.
git branch | sed -n '/\* /s///p'
(신용:제한적 어텐션)
그리고 제가 있는 동안 리모트 트래킹브런치를 받을 수 있는 라이너 1개(있는 경우)
git rev-parse --symbolic-full-name --abbrev-ref @{u}
리눅스에서는 저장소 디렉터리에 명령줄(콘솔)을 입력할 수 있습니다.
$ git status
다음과 같은 텍스트가 표시됩니다.
...
On branch master
...
, 지금 이 출연하고 입니다.master
if. 그 에서 파일을 하고 있는 경우, 그 파일이 같은 로컬 저장소 버전 관리 하에 있는 파일을 포함한 로컬 디렉토리)에 있는 경우, 이 브랜치에서는 파일을 그 시점에서 파일을 편집하고 있는 경우, 그 파일이 같은 로컬저장소(Git 버전 관리 하에 있는 파일을 포함한 로컬디렉토리)에 있는 경우는, 이 브랜치에서 파일을 편집하고 있습니다.
단말기에 다음 명령을 입력합니다.
git branch | grep \*
또는
git branch --show-current
또는 Git 2.22 이상:
git branch --show
git symbolic-ref -q --short HEAD
현재 브랜치 이름이 필요한 스크립트에서 사용합니다.현재 지점 이름이 될 HEAD에 대한 현재 짧은 심볼 참조가 표시됩니다.
현재 브랜치를 git으로 사용하기 위해서는
git branch --show-current
git branch | grep -e "^*" | cut -d' ' -f 2
지점 이름만 표시됩니다.
git branch
현재 지점 이름만 표시합니다.
git 브랜치는 모든 브랜치를 표시하고 현재 브랜치를 아스타리스크로 강조 표시합니다만, 브랜치가 많은 경우는 너무 번거로울 수 있습니다.
현재 있는 지점만 표시하려면 다음을 사용합니다.
git rev-parse --abbrev-ref HEAD
Oliver Refalo와 같은 길이의 명령줄 솔루션을 찾았습니다(올바른 명령어를 사용).
git branch | awk '/^\*/{print $2}'
awk
''라고.{}
regex" 에하는 행에 됩니다.으로 구분된 필드를 가정하기 에 두 번째 행을 기본적으로는 공백으로 구분된 필드를 가정하므로 두 번째 필드를 인쇄합니다.브런치가 있는 회선에만 * 가 붙어 있다고 가정할 수 있는 경우는, ^ 를 드롭 할 수 있습니다. 골프
죄송합니다. 이 답변은 다른 명령줄 답변입니다.이 질문을 받았을 때 제가 찾고 있던 것이었고, 이 답변 중 많은 부분이 도움이 되었습니다.이 솔루션은 다음과 같은 bash 셸 함수입니다.
get_branch () {
git rev-parse --abbrev-ref HEAD | grep -v HEAD || \
git describe --exact-match HEAD 2> /dev/null || \
git rev-parse HEAD
}
이것은 항상 인간이 읽을 수 있고 직접적으로 사용할 수 있는 무언가를 나에게 제공해야 한다.git checkout
.
- 브런치: " " " : "
feature/HS-0001
- 태가커커커커커커커커 ( ) :
v3.29.5
- 리모트 브랜치(태그 부착 없음):SHA1
- 다른 임의의 분리된 커밋: SHA1
브랜치 알 수 있습니다.git-aware 셸 는 현재 브랜치 이름을 알 수 있습니다. git status
도움이 됩니다.
얼마나 빠른지.에서 벗어나다.contrib/
(버전 2.3.0)에 되어 있는 (2.3.이 동작합니까?__git_ps1
다음 중 하나:
첫째, 진행 중인 기본 재배치 검출 시 특별한 경우가 있습니다.Git은 리베이스 프로세스에서 이름 없는 브랜치(분리된 HEAD)를 사용하여 아토믹하게 만들고 원래 브랜치는 다른 곳에 저장합니다.
경우,
.git/HEAD
링크(Git의 에서 매우 경우로, 는 Git를 사용합니다.git symbolic-ref HEAD 2>/dev/null
그렇지 않으면 다음과 같습니다.
.git/HEAD
파일. 다음 단계는 파일 내용에 따라 달라집니다.이 파일이 존재하지 않으면 현재 분기가 없습니다.일반적으로 저장소가 비어 있는 경우 이 문제가 발생합니다.
「 」로
'ref: '
그 후 prefix, prefix, prefix..git/HEAD
자료이며, .is symref(영어)에 .풀네임을 하고, 「」를 삭제합니다.refs/heads/
현재 분기의 짧은 이름을 얻으려면:b="${head#ref: }" # ... b=${b##refs/heads/}
」로
'ref: '
다음으로 분리된 HEAD(익명의 브런치)로 커밋을 직접 가리킵니다.git describe ...
현재의 커밋을 인간에 의한 형태로 작성한다.
도움이 됐으면 좋겠어요.
git 상태에 대한 노이즈가 적은 버전이 효과가 있습니다.
git status -bsuno
출력됩니다.
## branch-name
#!/bin/bash
function git.branch {
br=`git branch | grep "*"`
echo ${br/* /}
}
git.branch
작업 디렉토리 명령에서 git bash를 사용할 수 있습니다.
git status -b
이것은 당신이 어느 브랜치에 있는지 알려줄 것입니다.그 중 몇 가지는 유용한 명령어입니다.
-s
--short 출력을 단축 형식으로 제공합니다.
-b --branch 짧은 형식으로도 지점 및 추적 정보를 표시합니다.
--cripts[=] 스크립트의 출력을 알기 쉬운 형식으로 제공합니다.이것은 쇼트 출력과 비슷하지만 Git 버전 전체 및 사용자 구성에 관계없이 안정적입니다.상세한 것에 대하여는, 이하를 참조해 주세요.
version 파라미터는 포맷버전을 지정하는 데 사용됩니다.이는 옵션이며 기본적으로 원래 버전 v1 형식입니다.
--long 출력을 롱 포맷으로 지정합니다.이것이 기본값입니다.
-v --verbose 변경된 파일 이름 외에 커밋되도록 준비된 텍스트 변경(예: git diff --cached 출력)도 표시합니다.-v를 두 번 지정하면 아직 스테이징되지 않은 작업 트리의 변경 내용(즉 git diff 출력 등)도 표시합니다.
할 수 방법은 다양합니다.Git
저는 : 、 음 、 음 、 음 음 、 음 음 、 음 but but but but but but but butbut
git branch --show
지어도.git branch
에는 현재 브랜치 이름과 모든 기존 브랜치 이름 목록도 표시됩니다.
git status
브랜치 이름도 변경과 함께 지정합니다.
예.
>git status
On branch master // <-- branch name here
.....
다음 중 하나를 시도합니다.
1.> git symbolic-ref --short HEAD
git symbolic-ref --short HEAD
>>> sid-dev
2.> git 브랜치 --show-current
git branch --show-current
>>> sid-dev
git name-rev –name-only HEAD
>>> HEAD sid-dev
주의:
1.> git symbolic-ref --short HEAD는 현재 브랜치의 HEAD에 대한 짧은 심볼 참조를 표시합니다.현재 지점 이름입니다.
2.> git branch --show-current는 현재의 브랜치명을 인쇄하는 간단하고 효율적인 방법입니다.
> 에서는 4. > <고객명>님
sid-dev
제 지점 이름입니다.
시간이 지남에 따라, 우리는 정말 긴 지점 목록을 가지게 될 것이다.
다른 솔루션도 좋지만, Jacob의 답변에서 간략하게 설명하면 다음과 같습니다.
git branch | grep \*
지금이다,
git status
동작합니다만, 로컬에 변경이 가능합니다.
이 두 가지 명령어 중 하나를 사용할 것을 권장합니다.
git branch | grep -e "^*" | cut -d' ' -f 2
또는
git status | sed -n 1p | cut -d' ' -f 3
OR(상세)
git status -uno -bs| cut -d'#' -f 3 | cut -d . -f 1| sed -e 's/^[ \t]//1'| sed -n 1p
Netbeans에서 버전 주석이 활성화되어 있는지 확인합니다([View] -> [ Show Versioning Labels ] ) 。그러면 프로젝트 이름 옆에 지점 이름을 볼 수 있습니다.
http://netbeans.org/bugzilla/show_bug.cgi?id=213582
이건 어때?
{ git symbolic-ref HEAD 2> /dev/null || git rev-parse --short HEAD 2> /dev/null } | sed "s#refs/heads/##"
다음 셸 명령어는 현재 속해 있는 분기를 나타냅니다.
git branch | grep ^\*
Bash를 긴 에일리어스를 예: 에일리어스).cb
이렇게요.
alias cb='git branch | grep ^\*'
가 " " " 인 경우$
하면 ' , , , 、 , 、 을 、 을 。* master
다음과 같이 합니다.
$ cb
* master
git-branch name.git-branch를 표시할 수.지사를 할 때, 때문에 편리합니다.$ git status
항상요.Github repo git-aware-prompt.
터미널(ctrl-alt-t)을 열고 명령어를 입력합니다.
mkdir ~/.bash
cd ~/.bash
git clone git://github.com/jimeh/git-aware-prompt.git
를 .bashrc로 합니다.sudo nano ~/.bashrc
명령어(Ubuntu의 경우)를 입력하고 다음 항목을 맨 위에 추가합니다.
export GITAWAREPROMPT=~/.bash/git-aware-prompt
source "${GITAWAREPROMPT}/main.sh"
그런 다음 코드를 붙여넣습니다.
export PS1="\${debian_chroot:+(\$debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\] \[$txtcyn\]\$git_branch\[$txtred\]\$git_dirty\[$txtrst\]\$ "
설치 코드를 이전에 붙여넣은 파일과 같은 파일의 끝에 있습니다.그러면 색칠된 출력이 나타납니다.
는 가가 called called called라는 간단한 있다.git-cbr
(current branch) 현재 브랜치 이름을 출력합니다.
#!/bin/bash
git branch | grep -e "^*"
(</FONT CHANGE:/FONT CHANGEFONT CHANGE:</</FONT CHANGE:>~/.bin
에 폴더가 .$PATH
.
repo에 때 git repo를 입력하면 .git cbr
현재 지점 이름을 인쇄합니다.
$ git cbr
* master
은, 「 」가 기능하고 있기 때문에,git
는 첫 하여 "이러한 스크립트를 실행하려고 이는 "이는 "이러다"라는 이름으로 실행됩니다.git-arg1
를 들어, . 를를들 ..git branch
'어디로 가느냐'라는 하려고 합니다.git-branch
등등.
분리된 헤드에 있을 때 지점 이름 또는 SHA1을 반환합니다.
git rev-parse --abbrev-ref HEAD | grep -v ^HEAD$ || git rev-parse HEAD
이것은 태그가 지원되지 않는 @dmaestro12의 응답의 짧은 버전입니다.
언급URL : https://stackoverflow.com/questions/6245570/how-do-i-get-the-current-branch-name-in-git
'itsource' 카테고리의 다른 글
모든 공백을 제거하는 루비 기능? (0) | 2023.04.12 |
---|---|
MonoTouch와 Objective-C 중 하나를 결정하는 방법 (0) | 2023.04.12 |
Bash 텍스트 파일에서 배열 생성 (0) | 2023.04.12 |
TSQL datetime 필드에서 YYY-MM-DD 형식의 날짜를 가져오려면 어떻게 해야 합니까? (0) | 2023.04.07 |
INSERT 문이 외부 키 제약 조건과 충돌합니다(SQL Server). (0) | 2023.04.07 |