如何获取Git中当前分支的名称?
当前回答
从git的2.22版本开始,您可以使用:
git branch --show-current
根据手册页:
打印当前分支的名称。在分离HEAD状态下,不打印任何内容。
其他回答
您只需在Linux上的存储库目录中键入命令行(控制台):
$ git status
您将看到一些文本,其中类似于:
...
On branch master
...
这意味着您当前处于主分支。如果此时您正在编辑任何文件,并且该文件位于同一本地存储库(包含受Git版本控制管理的文件的本地目录)中,则您正在编辑该分支中的文件。
这个呢?
{ git symbolic-ref HEAD 2> /dev/null || git rev-parse --short HEAD 2> /dev/null } | sed "s#refs/heads/##"
在分离头上返回分支名称或SHA1:
git rev-parse --abbrev-ref HEAD | grep -v ^HEAD$ || git rev-parse HEAD
这是@dmaestro12答案的简短版本,没有标记支持。
git branch | grep -e "^*" | cut -d' ' -f 2
将仅显示分支名称
如果CI服务器没有带有分支名称的环境变量,并且容器内部没有git二进制文件,则可以使用:
cat.git/HEAD|awk-F'/'“{print$NF}”
推荐文章
- 如何在Visual Studio中删除未推送的外向提交?
- Git在两个不同的文件之间的差异
- 我如何使用vimdiff来解决git合并冲突?
- 如何将更改提交到另一个预先存在的分支
- 为什么使用'git rm'来删除文件而不是'rm'?
- 我如何安装imagemagick与自制?
- 致命:git-write-tree:错误构建树
- Git克隆远程存储库的特定版本
- git隐藏的意图用例是什么?
- 从远程Git存储库检索特定的提交
- 如何配置git bash命令行补全?
- 我如何迫使git拉覆盖每一个拉上的一切?
- 撤销“git add <dir>”?
- 是否可以在不先签出整个存储库的情况下进行稀疏签出?
- 如何移除SSH密钥?