我尝试为此寻找特殊的Git命令,但找不到。有没有比以下短或快的东西?
git branch | awk '/\*/ { print $2; }'
我尝试为此寻找特殊的Git命令,但找不到。有没有比以下短或快的东西?
git branch | awk '/\*/ { print $2; }'
Answers:
$ git rev-parse --abbrev-ref HEAD
master
这应该适用于Git 1.6.3或更高版本。
HEAD
(不是预期的)master
在Git 1.8.1中,可以将git symbolic-ref命令与“ --short”选项一起使用:
$ git symbolic-ref HEAD
refs/heads/develop
$ git symbolic-ref --short HEAD
develop
fatal: ref HEAD is not a symbolic ref
作为TravisCI构建的一部分运行此错误时发生错误
使用Git 2.22(Q2 2019),你将有一个更简单的方法:git branch --show-current
。
参见Daniels Umanovskis()提交的commit 0ecb1fc(25 Oct 2018 )。(由Junio C Hamano合并--在commit 3710f60中,2019年3月7日)umanovskis
gitster
branch
:介绍--show-current
显示选项用调用时
--show-current
,git branch
将打印当前分支名称并终止。
仅打印实际名称,不打印refs/heads
。
在分离的HEAD状态下,不输出任何内容。旨在用于脚本和交互式/信息性用途。
与不同git branch --list
,不需要过滤就可以获取分支名称。
您可能对以下产品的输出感兴趣
git symbolic-ref HEAD
特别是,根据您的需求和布局,您可能希望这样做
basename $(git symbolic-ref HEAD)
要么
git symbolic-ref HEAD | cut -d/ -f3-
然后又有一个.git/HEAD
文件,您可能也对此感兴趣。
git rev-parse --symbolic-full-name
为git symbolic-ref
。
basename
或cut
; 使用BR=${BR#refs/heads/}
(其中BR是您保存的输出变量的名称git symbolic-ref HEAD
)。
git symbolic-ref --short HEAD
也
据我所知,无法自然地仅显示Git中的当前分支,因此我一直在使用:
git branch | grep '*'
grep '*'
名义上是语法错误。git branch | sed -n 's/^\* //p'
无论如何,您可能都想要。或者实际上,OP首先发布了什么,这就是同一件事。
grep '*'
名义上是语法错误吗?
'*'
是一个正则表达式,因此无效。您可能要使用'[*]'
(即用字符*
代替运算符“零次或多次”)。
grep '\*'
git branch | grep "*" | cut -d' ' -f2
我想这应该很快,并且可以与Python API一起使用:
git branch --contains HEAD
* master
为了完整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 show-branch
--current
host-78-65-229-191:idp-mobileid user-1$ git show-branch --current
! [CICD-1283-pipeline-in-shared-libraries] feat(CICD-1283): Use latest version of custom release plugin.
* [master] Merge pull request #12 in CORES/idp-mobileid from feature/fix-schema-name to master
--
+ [CICD-1283-pipeline-in-shared-libraries] feat(CICD-1283): Use latest version of custom release plugin.
+ [CICD-1283-pipeline-in-shared-libraries^] feat(CICD-1283): Used the renamed AWS pipeline.
+ [CICD-1283-pipeline-in-shared-libraries~2] feat(CICD-1283): Point to feature branches of shared libraries.
-- [master] Merge pull request #12 in CORES/idp-mobileid from feature/fix-schema-name to master