* nk/ref-doc:
glossary: clarify description of HEAD
glossary: update description of head and ref
glossary: update description of "tag"
git.txt: de-emphasize the implementation detail of a ref
check-ref-format doc: de-emphasize the implementation detail of a ref
git-remote.txt: avoid sounding as if loose refs are the only ones in the world
git-remote.txt: fix wrong remote refspec
@ -18,9 +18,12 @@ Checks if a given 'refname' is acceptable, and exits with a non-zero
@@ -18,9 +18,12 @@ Checks if a given 'refname' is acceptable, and exits with a non-zero
status if it is not.
A reference is used in git to specify branches and tags. A
branch head is stored under the `$GIT_DIR/refs/heads` directory, and
a tag is stored under the `$GIT_DIR/refs/tags` directory (or, if refs
are packed by `git gc`, as entries in the `$GIT_DIR/packed-refs` file).
branch head is stored in the `refs/heads` hierarchy, while
a tag is stored in the `refs/tags` hierarchy of the ref namespace
(typically in `$GIT_DIR/refs/heads` and `$GIT_DIR/refs/tags`
directories or, as entries in file `$GIT_DIR/packed-refs`
if refs are packed by `git gc`).
git imposes the following rules on how references are named:
. They can include slash `/` for hierarchical (directory)
@ -523,16 +523,15 @@ Any git command accepting any <object> can also use the following
@@ -523,16 +523,15 @@ Any git command accepting any <object> can also use the following
symbolic notation:
HEAD::
indicates the head of the current branch (i.e. the
contents of `$GIT_DIR/HEAD`).
indicates the head of the current branch.
<tag>::
a valid tag 'name'
(i.e. the contents of `$GIT_DIR/refs/tags/<tag>`).
(i.e. a `refs/tags/<tag>` reference).
<head>::
a valid head 'name'
(i.e. the contents of `$GIT_DIR/refs/heads/<head>`).
(i.e. a `refs/heads/<head>` reference).
For a more complete list of ways to spell object names, see
"SPECIFYING REVISIONS" section in linkgit:gitrevisions[7].