如何获取Git中当前分支的名称?
当前回答
如果在分支上,则仅显示当前分支的名称,但如果分离,则打印当前提交id:
git symbolic-ref --short HEAD 2>/dev/null || git rev-parse --short HEAD
如果分离,第一部分将返回错误,第二部分将始终打印当前提交id。
其他回答
在Netbeans中,确保启用了版本控制注释(查看->显示版本控制标签)。然后,您可以看到项目名称旁边的分支名称。
http://netbeans.org/bugzilla/show_bug.cgi?id=213582
如果您确实希望最后一个分支/标记也在分离的HEAD状态下检出。
git reflog HEAD | grep 'checkout:' | head -1 | rev | cut -d' ' -f1 | rev
使现代化如果你有而且不害怕awk,这会更好。
git reflog HEAD | grep 'checkout:' | head -1 | awk '{print $NF}'
#!/bin/bash
function git.branch {
br=`git branch | grep "*"`
echo ${br/* /}
}
git.branch
git branch
应显示回购协议的所有本地分支机构。星形分支是您当前的分支。
要仅检索您所在分支的名称,请执行以下操作:
git rev-parse --abbrev-ref HEAD
或Git 2.22及以上版本:
git branch --show-current
您还有显示完整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添加?
- 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日志日期格式