| git-check-ref-format(1) |
| ======================= |
| |
| NAME |
| ---- |
| git-check-ref-format - Make sure ref name is well formed |
| |
| SYNOPSIS |
| -------- |
| 'git-check-ref-format' <refname> |
| |
| DESCRIPTION |
| ----------- |
| Checks if a given 'refname' is acceptable, and exits non-zero if |
| it is not. |
| |
| A reference is used in git to specify branches and tags. A |
| branch head is stored under `$GIT_DIR/refs/heads` directory, and |
| a tag is stored under `$GIT_DIR/refs/tags` directory. git |
| imposes the following rules on how refs are named: |
| |
| . It can include slash `/` for hierarchical (directory) |
| grouping, but no slash-separated component can begin with a |
| dot `.`; |
| |
| . It cannot have two consecutive dots `..` anywhere; |
| |
| . It cannot have ASCII control character (i.e. bytes whose |
| values are lower than \040, or \177 `DEL`), space, tilde `~`, |
| caret `{caret}`, colon `:`, question-mark `?`, asterisk `*`, |
| or open bracket `[` anywhere; |
| |
| . It cannot end with a slash `/`. |
| |
| These rules makes it easy for shell script based tools to parse |
| refnames, pathname expansion by the shell when a refname is used |
| unquoted (by mistake), and also avoids ambiguities in certain |
| refname expressions (see gitlink:git-rev-parse[1]). Namely: |
| |
| . double-dot `..` are often used as in `ref1..ref2`, and in some |
| context this notation means `{caret}ref1 ref2` (i.e. not in |
| ref1 and in ref2). |
| |
| . tilde `~` and caret `{caret}` are used to introduce postfix |
| 'nth parent' and 'peel onion' operation. |
| |
| . 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 |
| gitlink:git-cat-file[1] "git-cat-file blob v1.3.3:refs.c". |
| |
| |
| GIT |
| --- |
| Part of the gitlink:git[7] suite |