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


当前回答

为什么不使用git-aware shell提示符,它会告诉您当前分支的名称?git状态也有帮助。


如何从contrib/执行git-prompt.sh(git版本2.3.0),如__git_ps1 helper函数中所定义:

首先,如果检测到正在进行的重基,则存在特殊情况。Git在rebase过程中使用未命名的分支(分离的HEAD)使其成为原子分支,原始分支保存在其他地方。如果.git/HEAD文件是一个符号链接(从git的古代历史来看,这种情况非常罕见),那么它将使用git符号ref HEAD 2>/dev/null否则,它将读取.git/HEAD文件。下一步取决于其内容:如果此文件不存在,则当前没有分支。如果存储库是空的,通常会发生这种情况。如果它以“ref:”前缀开头,那么.git/HEAD是symref(符号引用),并且我们处于正常分支。去掉前缀以获得全名,去掉refs/heads/以获得当前分支的短名称:b=“${head#ref:}”# ...b=${b#refs/heads/}如果它不是以“ref:”开头,那么它是分离的HEAD(匿名分支),直接指向某个提交。使用git描述。。。以人类可读的形式编写当前提交。

我希望这有帮助。

其他回答

在Netbeans中,确保启用了版本控制注释(查看->显示版本控制标签)。然后,您可以看到项目名称旁边的分支名称。

http://netbeans.org/bugzilla/show_bug.cgi?id=213582

gitbranch仅显示当前分支名称。

虽然gitbranch将显示所有分支并用星号突出显示当前分支,但在处理大量分支时,它可能太麻烦。

要仅显示当前所在的分支,请使用:

git rev-parse --abbrev-ref HEAD

您还可以在当前项目的.git目录中看到当前分支的名称。

在终端中键入命令:open.git/HEAD输出文件包含当前分支的名称ref:refs/heads/{current_working_branch}

我知道这很晚了,但在linux/mac上,从终端可以使用以下命令。

git status | sed -n 1p

说明:

gitstatus->获取工作树状态sed-n 1p->从状态体获取第一行

对上述命令的响应如下:

"On branch your_branch_name"

有多种方法可以检查Git的当前分支,但我更喜欢:

git branch --show

甚至gitbranch也会显示当前分支名称以及所有现有分支名称列表。