GIT-SYMBOLIC-REF(1) Git Manual GIT-SYMBOLIC-REF(1)NAMEgit-symbolic-ref - Read and modify symbolic refs
SYNOPSISgit-symbolic-ref [-q] [-m <reason>] <name> [<ref>]
DESCRIPTION
Given one argument, reads which branch head the given symbolic ref
refers to and outputs its path, relative to the .git/ directory.
Typically you would give HEAD as the <name> argument to see on which
branch your working tree is on.
Give two arguments, create or update a symbolic ref <name> to point at
the given branch <ref>.
A symbolic ref is a regular file that stores a string that begins with
ref: refs/. For example, your .git/HEAD is a regular file whose
contents is ref: refs/heads/master.
OPTIONS-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.
-m Update the reflog for <name> with <reason>. This is valid only
when creating or updating a symbolic ref.
NOTES
In the past, .git/HEAD was a symbolic link pointing at
refs/heads/master. When we wanted to switch to another branch, we did
ln -sf refs/heads/newbranch .git/HEAD, and when we wanted to find out
which branch we are on, we did readlink .git/HEAD. This was fine, and
internally that is what still happens by default, but on platforms that
do not have working symlinks, or that do not have the readlink(1)
command, this was a bit cumbersome. On some platforms, ln -sf does not
even work as advertised (horrors). Therefore symbolic links are now
deprecated and symbolic refs are used by default.
git-symbolic-ref will exit with status 0 if the contents of the
symbolic ref were printed correctly, with status 1 if the requested
name is not a symbolic ref, or 128 if another error occurs.
AUTHOR
Written by Junio C Hamano <junkio@cox.net>
GIT
Part of the git(7) suite
Git 1.5.5.2 10/21/2008 GIT-SYMBOLIC-REF(1)