如何获取Git中当前分支的名称?


当前回答

很简单,我用一行(bash)就搞定了

git branch | sed -n '/\* /s///p'

(信贷:有限补偿)

当我在那里的时候,唯一的一条线路就是远程跟踪分支(如果有的话)

git rev-parse --symbolic-full-name --abbrev-ref @{u}

其他回答

一个简单的黑客可以

git branch|grep "*"

输出:

* <current branch>

编辑:

了解当前分支的另一种方法

git status|head -1
On branch <current branch name>

在终端中写入以下命令:

git branch | grep \*

or

git branch --show-current 

或Git 2.22及以上版本:

  git branch --show

您还有显示完整refspec的git符号ref HEAD。

要在Git v1.8及更高版本中仅显示分支名称(感谢Greg指出这一点):

git symbolic-ref --short HEAD

在Git v1.7+上,您还可以执行以下操作:

git rev-parse --abbrev-ref HEAD

如果您在一个分支上,这两个分支都应该给出相同的分支名称。如果你头脑冷静,答案就不同了。

注:在早期的客户端上,这似乎有效:git符号ref HEAD|sed-e“s/^refs\/heads\///”–Darien 26。2014年3月

我知道这很晚了,但在linux/mac上,从终端可以使用以下命令。

git status | sed -n 1p

说明:

gitstatus->获取工作树状态sed-n 1p->从状态体获取第一行

对上述命令的响应如下:

"On branch your_branch_name"
git symbolic-ref -q --short HEAD

我在需要当前分支名称的脚本中使用这个。它将向您显示当前HEAD的简短符号引用,这将是您当前的分支名称。