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


当前回答

要使用git获取当前分支,

git branch --show-current

其他回答

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

git status -b

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

-s

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

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

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

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

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

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

如果在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-提交人/作者电子邮件

如果您确实希望最后一个分支/标记也在分离的HEAD状态下检出。

git reflog HEAD | grep 'checkout:' | head -1 | rev | cut -d' ' -f1 | rev

使现代化如果你有而且不害怕awk,这会更好。

git reflog HEAD | grep 'checkout:' | head -1 | awk '{print $NF}'

还有一种选择:

git name-rev --name-only HEAD
git symbolic-ref -q --short HEAD

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