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


当前回答

很抱歉,这是另一个命令行答案,但当我发现这个问题时,我正在寻找这个答案,其中许多答案都很有用。我的解决方案是以下bashshell函数:

get_branch () {
    git rev-parse --abbrev-ref HEAD | grep -v HEAD || \
    git describe --exact-match HEAD 2> /dev/null || \
    git rev-parse HEAD
}

这应该总是给我一些既可读又可直接用作git checkout参数的东西。

在本地分支上:feature/HS-0001在标记的提交(分离)上:v3.29.5在远程分支上(已分离,未标记):SHA1在任何其他分离的提交上:SHA1

其他回答

在Shell上,您可以执行以下操作

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

只需在~/.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提供

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

git branch --show

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

使用git分支--包含HEAD|tail-1|xargs,它也适用于“分离的HEAD”状态。