我正在编写一个prepare-commit-msg
挂钩,它将分支名称附加到commit msg。我使用这一行来获取分支名称
local current_branch=$(git rev-parse --abbrev-ref HEAD)
问题是如果不存在先前的提交(当repo刚刚启动时),命令将失败,并显示以下错误消息
git rev-parse --abbrev-ref HEAD
HEAD
fatal: ambiguous argument 'HEAD': unknown revision or path not in the working tree.
是否有更好的方法来获取分支名称,或者抑制警告/错误?
答案 0 :(得分:1)
git symbolic-ref --short HEAD
答案 1 :(得分:0)
这是一个罕见的罕见案例,它几乎不值得担心。您可以添加默认值,并禁止显示错误
$(git rev-parse --abbrev-ref HEAD 2>/dev/null || echo "default branch")