I want to know whether I'm in a "HEAD detached" state in a script.
Currently I parse the output of git status
but I dislike doing so because I've heard that it's a bad practice to parse Git output that's meant for human - I want a program-friendly interface to tell me whether HEAD is detached. I also don't want to manually look into .git/HEAD
or parse git description
or git branch
.
Any ideas?
The easiest command is probably:
$ git symbolic-ref -q HEAD
and check the exit status: 0 means normal; 1 is detached.
From the docs of 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.