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


当前回答

要仅显示当前分支的名称,请执行以下操作:

git rev-parse --abbrev-ref HEAD

参考:仅显示Git中的当前分支

其他回答

找到了一个与Oliver Refalo相同长度的命令行解决方案,使用了良好的ol‘awk:

git branch | awk '/^\*/{print $2}'

awk将其理解为“在与正则表达式匹配的行上执行{}中的内容”。默认情况下,它采用空格分隔的字段,因此您可以打印第二个。如果假设只有分支所在的行具有*,则可以删除^。啊,打高尔夫!

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

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

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

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

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

还有一种选择:

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

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