GIT\-SYMBOLIC\-REFSection: Git Manual (1)
Index Return to Main Contents
NAMEgit-symbolic-ref - Read and modify symbolic refs
SYNOPSISgit-symbolic-ref [-q] [-m <reason>] <name> [<ref>]
DESCRIPTIONGiven 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>.
- 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.
- Update the reflog for <name> with <reason>. This is valid only when creating or updating a symbolic ref.
NOTESIn 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.
AUTHORWritten by Junio C Hamano <email@example.com>
GITPart of the git(7) suite