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


当前回答

您可以使用一条grep指令来完成此操作,使用Perl模式和\K来重置匹配缓冲区,因此您只能获得分支名称。

$ git branch | grep -oP "^\*\s+\K\S+$"
master

其他回答

git status 

还将给出分支名称以及更改。

e.g.

>git status
On branch master // <-- branch name here
.....

您只需在Linux上的存储库目录中键入命令行(控制台):

$ git status

您将看到一些文本,其中类似于:

...
On branch master
...

这意味着您当前处于主分支。如果此时您正在编辑任何文件,并且该文件位于同一本地存储库(包含受Git版本控制管理的文件的本地目录)中,则您正在编辑该分支中的文件。

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

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

(信贷:有限补偿)

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

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

gitbranch仅显示当前分支名称。

虽然gitbranch将显示所有分支并用星号突出显示当前分支,但在处理大量分支时,它可能太麻烦。

要仅显示当前所在的分支,请使用:

git rev-parse --abbrev-ref HEAD

如果CI服务器没有带有分支名称的环境变量,并且容器内部没有git二进制文件,则可以使用:

cat.git/HEAD|awk-F'/'“{print$NF}”