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


当前回答

如果在Jenkins中运行,可以使用GIT_BRANCH变量,如下所示:https://wiki.jenkins-ci.org/display/JENKINS/Git+插件

git插件设置了几个可以在脚本中使用的环境变量:

GIT_COMMIT-当前的SHAGIT_BRANCH—当前使用的分支的名称,例如“master”或“origin/foo”GIT_PREVIOUS_COMMIT-来自同一个的上一个生成提交的SHA分支(第一个内置分支上的当前SHA)GIT_URL-存储库远程URLGIT_URL_N-存储库远程URL(当超过1个时)遥控器,例如GIT_URL_1、GIT_URL_2GIT_AUTHOR_EMAIL-提交人/作者电子邮件GIT_COMMITTER_EMAIL-提交人/作者电子邮件

其他回答

git branch

应显示回购协议的所有本地分支机构。星形分支是您当前的分支。


要仅检索您所在分支的名称,请执行以下操作:

git rev-parse --abbrev-ref HEAD

或Git 2.22及以上版本:

git branch --show-current

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

$ git status

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

...
On branch master
...

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

在分离头上返回分支名称或SHA1:

git rev-parse --abbrev-ref HEAD | grep -v ^HEAD$ || git rev-parse HEAD

这是@dmaestro12答案的简短版本,没有标记支持。

可以在工作目录中使用gitbash命令如下

git status -b

它会告诉你你在哪个分支机构有许多有用的命令

-s

--短路,短路以短格式输出。

-b级--分支,分支以短格式显示分支和跟踪信息。

--瓷器[=]为脚本提供易于解析的输出格式。这与短输出类似,但无论用户配置如何,在Git版本中都会保持稳定。详见下文。

version参数用于指定格式版本。这是可选的,默认为原始版本v1格式。

--长的,长的以长格式给出输出。这是默认设置。

-五--冗长的,冗长的除了已更改的文件名之外,还显示要提交的文本更改(例如,像gitdiff-cached的输出)。如果两次指定了-v,那么还将显示工作树中尚未暂存的更改(例如,像gitdiff的输出)。

这个呢?

{ git symbolic-ref HEAD 2> /dev/null || git rev-parse --short HEAD 2> /dev/null } | sed "s#refs/heads/##"