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


当前回答

在终端中写入以下命令:

git branch | grep \*

or

git branch --show-current 

或Git 2.22及以上版本:

  git branch --show

其他回答

gitbranch仅显示当前分支名称。

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

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

git rev-parse --abbrev-ref HEAD

要仅显示当前分支的名称,请执行以下操作:

git rev-parse --abbrev-ref HEAD

参考:仅显示Git中的当前分支

#!/bin/bash
function git.branch {
  br=`git branch | grep "*"`
  echo ${br/* /}
}
git.branch

为什么不使用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描述。。。以人类可读的形式编写当前提交。

我希望这有帮助。

您只需在Linux上的存储库目录中键入命令行(控制台):

$ git status

您将看到一些文本,其中类似于:

...
On branch master
...

这意味着您当前处于主分支。如果此时您正在编辑任何文件,并且该文件位于同一本地存储库(包含受Git版本控制管理的文件的本地目录)中,则您正在编辑该分支中的文件。