今天写shell脚本批量更新一堆好久没更新的git项目,然后发现需要获取当前分支名。
找了一些资料看了下,有好几种方式可以获取。
#显示完整的refspec
git symbolic-ref HEAD
#在Git v1.8及更高版本中只显示分支名称
git symbolic-ref --short HEAD
#Git v1.7 +上,你也可以这样做
git rev-parse --abbrev-ref HEAD
#还有一种做法
git name-rev --name-only HEAD
#不过个人觉得git branch更好用,而且不受版本的影响
git branch | awk '$1 == "*"{print $2}'
然后,就可以写脚本遍历所有git项目了