Using msysgit on Windows, I can do this:
git checkout head
or
git checkout HEAD
Either works. I don\'t ha
HEAD is case sensitive in Linux environment. As far as I know its case insensitive only in mysysgit.
In Linux environment it gives : error: pathspec 'head' did not match any file(s) known to git.
Answering to cover Mac OSX (Mavericks):
$ git checkout HEAD
Your branch is up-to-date with 'origin/master'.
but:
$ git checkout head
Note: checking out 'head'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:
git checkout -b new_branch_name
HEAD is now at f44b740... fix if endScreen(s) not present
By the way, that hash is the head of the current branch (in my test, the same has contained in .git/refs/heads/master
)
Interesting behaviour.
(git 1.8.5.2)
The case-sensitivity of HEAD is depending on the case-sensitivity of file system of the OS.
When you checkout HEAD, git actually looks for a file named "HEAD" under the folder .git. If you type HEAD in small letters, git looks for the file name with small letters. You can see the .git/HEAD file actually contains the hash code of the commit HEAD pointing to.
Because of this, the typical case-sensitivities of HEAD are:
HEAD
is case-sensitive on Linux.
For example:
$ git checkout head
error: pathspec 'head' did not match any file(s) known to git.
$ git checkout HEAD
Your branch is up-to-date with 'origin/master'.
Git version 1.9.1 on Ubuntu 14.04.