首页 > 解决方案 > 以编程方式检查 HEAD 是否分离?

问题描述

我想知道我是否在脚本中处于“HEAD detached”状态。

目前我解析输出,git status但我不喜欢这样做,因为我听说解析用于人类的 Git 输出是一种不好的做法——我想要一个程序友好的界面来告诉我 HEAD 是否已分离。我也不想手动查看.git/HEAD或解析git descriptionor git branch

有任何想法吗?

标签: gitgit-detached-head

解决方案


最简单的命令可能是:

$ git symbolic-ref -q HEAD

并检查退出状态:0表示正常;1是分离的。

来自以下文档git-symbolic-ref

-q, --quiet
   Do not issue an error message if the <name> is not a symbolic ref
   but a detached HEAD; instead exit with non-zero status silently.

推荐阅读