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


当前回答

这个呢?

{ git symbolic-ref HEAD 2> /dev/null || git rev-parse --short HEAD 2> /dev/null } | sed "s#refs/heads/##"

其他回答

还有一种选择:

git name-rev --name-only HEAD

随着时间的推移,我们可能会有一长串分支。

虽然其他一些解决方案很好,但以下是我所做的(从雅各布的回答中简化):

git branch | grep \*

Now,

git status

有效,但仅当有任何本地更改时

如果在分支上,则仅显示当前分支的名称,但如果分离,则打印当前提交id:

git symbolic-ref --short HEAD 2>/dev/null || git rev-parse --short HEAD 

如果分离,第一部分将返回错误,第二部分将始终打印当前提交id。

只需在~/.bash_profile中添加以下行:

branch_show() {
     git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
}
export PS1="\u@\h \[\033[32m\]\w\[\033[33m\]\$(branch_show)\[\033[00m\] $ "

这样,您可以在Terminal中拥有当前分支名称

由Coderwall.com提供

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

$ git status

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

...
On branch master
...

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