在编写 git 脚本时,我需要找到当前检出的分支名称。目前看来,唯一“可靠”的方法是使用 git branch | sed -n '/^\* /s///p'
。(使用引号是因为像 .gitconfig 文件中的 color.branch
或 column.branch
这样的东西;它根本不可靠。)我发现的另一件事是 git name-rev
,但它似乎返回指向 HEAD 的第一个(按名称排序的)分支:
> git checkout master
> git checkout -b another
> git checkout master
> git name-rev HEAD
HEAD another
有没有比 sed -n '\#^ref: refs/heads/#s###p' .git/HEAD
更好的方法来确定当前检出的分支?