如何在shell中获取当前的git分支

时间:2015-05-26 19:04:11

标签: bash shell

我尝试编写一个shell脚本,如果当前的git分支与预定义的值不匹配,则该脚本应该失败。

if $gitBranch != 'my-branch'; then
   echo 'fail'
   exit 1
fi

不幸的是,我的shell脚本编写技巧还不尽如人意:如何在变量中获取当前的git分支?

2 个答案:

答案 0 :(得分:9)

获取当前分支的名称:git rev-parse --abbrev-ref HEAD

所以,检查:

if test "$(git rev-parse --abbrev-ref HEAD)" != my-branch; then
  echo Current branch is not my-branch >&2
  exit 1
fi

答案 1 :(得分:1)

您可以使用git branch和正则表达式获取分支:

$gitBranch=$(git branch | sed -n -e 's/^\* \(.*\)/\1/p')

之后你只需要进行测试。