1 .\"Generated by db2man.xsl. Don't modify this, modify the source.
10 .de Sp \" Vertical space (when we can't use .PP)
16 .ie \\n(.$>=3 .ne \\$3
20 .TH "GIT-CHECK-REF-FORM" 1 "" "" ""
22 git-check-ref-format \- Make sure ref name is well formed
26 \fIgit\-check\-ref\-format\fR <refname>
31 Checks if a given \fIrefname\fR is acceptable, and exits non\-zero if it is not\&.
34 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:
38 It could be named hierarchically (i\&.e\&. separated with slash /), but each of its component cannot begin with a dot \&.;
41 It cannot have two consecutive dots \&.\&. anywhere;
44 It cannot have ASCII control character (i\&.e\&. bytes whose values are lower than \\040, or \\177 DEL), space, tilde ~, caret ^, colon :, question\-mark ?, asterisk *, or open bracket [ anywhere;
47 It cannot end with a slash /\&.
51 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 \fBgit\-rev\-parse\fR(1))\&. Namely:
55 double\-dot \&.\&. are often used as in ref1\&.\&.ref2, and in some context this notation means ^ref1 ref2 (i\&.e\&. not in ref1 and in ref2)\&.
58 tilde ~ and caret ^ are used to introduce postfix \fInth parent\fR and \fIpeel onion\fR operation\&.
61 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 \fBgit\-cat\-file\fR(1) "git\-cat\-file blob v1\&.3\&.3:refs\&.c"\&.
67 Part of the \fBgit\fR(7) suite