协慌网

登录 贡献 社区

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

我来自 Subversion 背景,当我有一个分支时,我知道我正在处理的是 “这些工作文件指向这个分支”。

但是对于 Git,我不确定我何时在 NetBeans 或 Notepad ++ 中编辑文件,无论它是与主服务器还是其他分支相关联。

在 bash 中使用git没有问题,它告诉我我在做什么。

答案

git rev-parse --abbrev-ref HEAD --

那将显示当前分支。

参考:

git branch

应该显示您的回购的所有本地分支。已加星标的分支是您当前的分支。

如果您只想检索所在分支的名称,您可以执行以下操作:

git branch | grep \* | cut -d ' ' -f2

你还有git symbolic-ref HEAD ,它显示了完整的 refspec。

仅在 Git v1.8 及更高版本中显示分支名称(感谢 Greg 指出这一点):

$ git symbolic-ref --short HEAD

在 Git v1.7 + 上你也可以这样做:

$ git rev-parse --abbrev-ref HEAD

如果你在一个分支上,两者都应该给出相同的分支名称。如果你是一个独立的头,答案不同。

注意:

在早期的客户端,这似乎工作:

$ git symbolic-ref HEAD | sed -e "s/^refs\/heads\///"

- Darien 26. 2014 年 3 月