git-check-ref-format(1)
=======================

NAME
----
git-check-ref-format - Ensures that a reference name is well formed

SYNOPSIS
--------
[verse]
'git check-ref-format' <refname>
'git check-ref-format' [--branch] <branchname-shorthand>

DESCRIPTION
-----------
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.  git
imposes the following rules on how references are named:

. They can include slash `/` for hierarchical (directory)
  grouping, but no slash-separated component can begin with a
  dot `.`.

. They cannot have two consecutive dots `..` anywhere.

. They cannot have ASCII control characters (i.e. bytes whose
  values are lower than \040, or \177 `DEL`), space, tilde `~`,
  caret `{caret}`, colon `:`, question-mark `?`, asterisk `*`,
  or open bracket `[` anywhere.

. They cannot end with a slash `/` nor a dot `.`.

. They cannot end with the sequence `.lock`.

. They cannot contain a sequence `@{`.

These rules make it easy for shell script based tools to parse
reference names, pathname expansion by the shell when a reference name is used
unquoted (by mistake), and also avoids ambiguities in certain
reference name expressions (see linkgit:git-rev-parse[1]):

. A double-dot `..` is often used as in `ref1..ref2`, and in some
  contexts this notation means `{caret}ref1 ref2` (i.e. not in
  `ref1` and in `ref2`).

. A tilde `~` and caret `{caret}` are used to introduce the postfix
  'nth parent' and 'peel onion' operation.

. A colon `:` is used as in `srcref:dstref` to mean "use srcref\'s
  value and store it in dstref" in fetch and push operations.
  It may also be used to select a specific object such as with
  'git-cat-file': "git cat-file blob v1.3.3:refs.c".

. at-open-brace `@{` is used as a notation to access a reflog entry.

With the `--branch` option, it expands a branch name shorthand and
prints the name of the branch the shorthand refers to.

EXAMPLE
-------

git check-ref-format --branch @{-1}::

Print the name of the previous branch.


GIT
---
Part of the linkgit:git[1] suite
