Ref is a named symbolic reference that is a pointing to a specific git object. It is not resolved
until you explicitly retrieve the link target. The Target is not cached.
Check validity of a ref name. It must not contain a character that has
a special meaning in a Git object reference expression. Some other
dangerous characters are also excluded.
Resolve the symbolic reference and return the object that it is currently pointing at. Target is not cached
in order to match the behavior of a real git ref.