如何获取Git中当前分支的名称?
当前回答
要使用git获取当前分支,
git branch --show-current
其他回答
很抱歉,这是另一个命令行答案,但当我发现这个问题时,我正在寻找这个答案,其中许多答案都很有用。我的解决方案是以下bashshell函数:
get_branch () {
git rev-parse --abbrev-ref HEAD | grep -v HEAD || \
git describe --exact-match HEAD 2> /dev/null || \
git rev-parse HEAD
}
这应该总是给我一些既可读又可直接用作git checkout参数的东西。
在本地分支上:feature/HS-0001在标记的提交(分离)上:v3.29.5在远程分支上(已分离,未标记):SHA1在任何其他分离的提交上:SHA1
gitbranch仅显示当前分支名称。
虽然gitbranch将显示所有分支并用星号突出显示当前分支,但在处理大量分支时,它可能太麻烦。
要仅显示当前所在的分支,请使用:
git rev-parse --abbrev-ref HEAD
您只需在Linux上的存储库目录中键入命令行(控制台):
$ git status
您将看到一些文本,其中类似于:
...
On branch master
...
这意味着您当前处于主分支。如果此时您正在编辑任何文件,并且该文件位于同一本地存储库(包含受Git版本控制管理的文件的本地目录)中,则您正在编辑该分支中的文件。
您还有显示完整refspec的git符号ref HEAD。
要在Git v1.8及更高版本中仅显示分支名称(感谢Greg指出这一点):
git symbolic-ref --short HEAD
在Git v1.7+上,您还可以执行以下操作:
git rev-parse --abbrev-ref HEAD
如果您在一个分支上,这两个分支都应该给出相同的分支名称。如果你头脑冷静,答案就不同了。
注:在早期的客户端上,这似乎有效:git符号ref HEAD|sed-e“s/^refs\/heads\///”–Darien 26。2014年3月
git symbolic-ref -q --short HEAD
我在需要当前分支名称的脚本中使用这个。它将向您显示当前HEAD的简短符号引用,这将是您当前的分支名称。
推荐文章
- 为什么我需要显式地推一个新分支?
- 如何撤消最后的git添加?
- Rubymine:如何让Git忽略Rubymine创建的.idea文件
- Gitignore二进制文件,没有扩展名
- Git隐藏错误:Git隐藏弹出并最终与合并冲突
- 了解Git和GitHub的基础知识
- 没有。Git目录的Git克隆
- 在GitHub上有一个公共回购的私人分支?
- Git与Mercurial仓库的互操作性
- 忽略git中修改(但未提交)的文件?
- “git restore”命令是什么?“git restore”和“git reset”之间有什么区别?
- Git合并与强制覆盖
- Git拉另一个分支
- 在Bash命令提示符上添加git分支
- 如何更改Git日志日期格式