1 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.1//EN"
2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3 <html xmlns=
"http://www.w3.org/1999/xhtml" xml:
lang=
"en">
5 <meta http-equiv=
"Content-Type" content=
"text/html; charset=UTF-8" />
6 <meta name=
"generator" content=
"AsciiDoc 8.4.5" />
7 <title>git-check-ref-format(
1)
</title>
8 <style type=
"text/css">
10 p
, li
, dt
, dd
, div
, pre
, h1
, h2
, h3
, h4
, h5
, h6
{
12 border: 1px solid red;
17 margin: 1em 5% 1em 5%;
22 text-decoration: underline
;
42 h1
, h2
, h3
, h4
, h5
, h6
{
44 font-family: sans-serif
;
51 border-bottom: 2px solid silver
;
69 border: 1px solid silver
;
88 font-family: sans-serif
;
94 span#revnumber
, span#revdate
, span#revremark
{
95 font-family: sans-serif
;
99 font-family: sans-serif
;
101 border-top: 2px solid silver
;
107 padding-bottom: 0.5em;
111 padding-bottom: 0.5em;
116 margin-bottom: 1.5em;
118 div
.tableblock
, div
.imageblock
, div
.exampleblock
, div
.verseblock
,
119 div
.quoteblock
, div
.literalblock
, div
.listingblock
, div
.sidebarblock
,
120 div
.admonitionblock
{
122 margin-bottom: 1.5em;
124 div
.admonitionblock
{
126 margin-bottom: 2.5em;
129 div
.content
{ /* Block element content. */
133 /* Block element titles. */
134 div
.title
, caption
.title
{
136 font-family: sans-serif
;
140 margin-bottom: 0.5em;
146 td div
.title:first-child
{
149 div
.content div
.title:first-child
{
152 div
.content
+ div
.title
{
156 div
.sidebarblock
> div
.content
{
158 border: 1px solid silver
;
162 div
.listingblock
> div
.content
{
163 border: 1px solid silver
;
172 div
.quoteblock
> div
.attribution
{
181 div
.verseblock
> div
.content
{
184 div
.verseblock
> div
.attribution
{
188 /* DEPRECATED: Pre version 8.2.7 verse style literal block. */
189 div
.verseblock
+ div
.attribution
{
193 div
.admonitionblock
.icon
{
197 text-decoration: underline
;
199 padding-right: 0.5em;
201 div
.admonitionblock td
.content
{
203 border-left: 2px solid silver
;
206 div
.exampleblock
> div
.content
{
207 border-left: 2px solid silver
;
211 div
.imageblock div
.content
{ padding-left: 0; }
212 span
.image img
{ border-style: none
; }
213 a
.image:visited
{ color: white
; }
217 margin-bottom: 0.8em;
230 list-style-position: outside
;
233 list-style-type: decimal
;
236 list-style-type: lower-alpha
;
239 list-style-type: upper-alpha
;
242 list-style-type: lower-roman
;
245 list-style-type: upper-roman
;
248 div
.compact ul
, div
.compact ol
,
249 div
.compact p
, div
.compact p
,
250 div
.compact div
, div
.compact div
{
252 margin-bottom: 0.1em;
255 div
.tableblock
> table
{
256 border: 3px solid
#527bbd;
259 font-family: sans-serif
;
271 /* Because the table frame attribute is overriden by CSS in most browsers. */
272 div
.tableblock
> table
[frame
="void"] {
275 div
.tableblock
> table
[frame
="hsides"] {
276 border-left-style: none
;
277 border-right-style: none
;
279 div
.tableblock
> table
[frame
="vsides"] {
280 border-top-style: none
;
281 border-bottom-style: none
;
287 margin-bottom: 0.8em;
290 padding-bottom: 15px;
292 dt
.hdlist1
.strong
, td
.hdlist1
.strong
{
298 padding-right: 0.8em;
304 div
.hdlist
.compact tr
{
314 div#footer-badges
{ display: none
; }
319 font-family: sans-serif
;
323 margin-bottom: 0.1em;
326 div
.toclevel1
, div
.toclevel2
, div
.toclevel3
, div
.toclevel4
{
342 /* Overrides for manpage documents */
345 padding-bottom: 0.5em;
346 border-top: 2px solid silver
;
347 border-bottom: 2px solid silver
;
357 div#toc
{ display: none
; }
360 /* Workarounds for IE6's broken and incomplete CSS2. */
362 div
.sidebar-content
{
364 border: 1px solid silver
;
367 div
.sidebar-title
, div
.image-title
{
369 font-family: sans-serif
;
372 margin-bottom: 0.5em;
375 div
.listingblock div
.content
{
376 border: 1px solid silver
;
381 div
.quoteblock-attribution
{
386 div
.verseblock-content
{
389 div
.verseblock-attribution
{
394 div
.exampleblock-content
{
395 border-left: 2px solid silver
;
399 /* IE6 sets dynamically generated links as visited. */
400 div#toc
a:visited
{ color: blue
; }
406 git-check-ref-format(
1) Manual Page
409 <div class=
"sectionbody">
410 <p>git-check-ref-format -
411 Ensures that a reference name is well formed
415 <h2 id=
"_synopsis">SYNOPSIS
</h2>
416 <div class=
"sectionbody">
417 <div class=
"verseblock">
418 <div class=
"verseblock-content"><em>git check-ref-format
</em> <refname
>
419 <em>git check-ref-format
</em> --print
<refname
>
420 <em>git check-ref-format
</em> --branch
<branchname-shorthand
></div>
421 <div class=
"verseblock-attribution">
424 <h2 id=
"_description">DESCRIPTION
</h2>
425 <div class=
"sectionbody">
426 <div class=
"paragraph"><p>Checks if a given
<em>refname
</em> is acceptable, and exits with a non-zero
427 status if it is not.
</p></div>
428 <div class=
"paragraph"><p>A reference is used in git to specify branches and tags. A
429 branch head is stored under the
<tt>$GIT_DIR/refs/heads
</tt> directory, and
430 a tag is stored under the
<tt>$GIT_DIR/refs/tags
</tt> directory (or, if refs
431 are packed by
<tt>git gc
</tt>, as entries in the
<tt>$GIT_DIR/packed-refs
</tt> file).
432 git imposes the following rules on how references are named:
</p></div>
433 <div class=
"olist arabic"><ol class=
"arabic">
436 They can include slash
<tt>/
</tt> for hierarchical (directory)
437 grouping, but no slash-separated component can begin with a
443 They must contain at least one
<tt>/
</tt>. This enforces the presence of a
444 category like
<tt>heads/
</tt>,
<tt>tags/
</tt> etc. but the actual names are not
450 They cannot have two consecutive dots
<tt>..
</tt> anywhere.
455 They cannot have ASCII control characters (i.e. bytes whose
456 values are lower than \
040, or \
177 <tt>DEL
</tt>), space, tilde
<tt>~
</tt>,
457 caret
<tt>^</tt>, colon
<tt>:
</tt>, question-mark
<tt>?
</tt>, asterisk
<tt>*
</tt>,
458 or open bracket
<tt>[
</tt> anywhere.
463 They cannot end with a slash
<tt>/
</tt> nor a dot
<tt>.
</tt>.
468 They cannot end with the sequence
<tt>.lock
</tt>.
473 They cannot contain a sequence
<tt>@{
</tt>.
478 They cannot contain a
<tt>\
</tt>.
482 <div class=
"paragraph"><p>These rules make it easy for shell script based tools to parse
483 reference names, pathname expansion by the shell when a reference name is used
484 unquoted (by mistake), and also avoids ambiguities in certain
485 reference name expressions (see
<a href=
"gitrevisions.html">gitrevisions(
7)
</a>):
</p></div>
486 <div class=
"olist arabic"><ol class=
"arabic">
489 A double-dot
<tt>..
</tt> is often used as in
<tt>ref1..ref2
</tt>, and in some
490 contexts this notation means
<tt>^ref1 ref2
</tt> (i.e. not in
491 <tt>ref1
</tt> and in
<tt>ref2
</tt>).
496 A tilde
<tt>~
</tt> and caret
<tt>^</tt> are used to introduce the postfix
497 <em>nth parent
</em> and
<em>peel onion
</em> operation.
502 A colon
<tt>:
</tt> is used as in
<tt>srcref:dstref
</tt> to mean
"use srcref’s
503 value and store it in dstref" in fetch and push operations.
504 It may also be used to select a specific object such as with
505 <em>git cat-file
</em>:
"git cat-file blob v1.3.3:refs.c".
510 at-open-brace
<tt>@{
</tt> is used as a notation to access a reflog entry.
514 <div class=
"paragraph"><p>With the
<tt>--print
</tt> option, if
<em>refname
</em> is acceptable, it prints the
515 canonicalized name of a hypothetical reference with that name. That is,
516 it prints
<em>refname
</em> with any extra
<tt>/
</tt> characters removed.
</p></div>
517 <div class=
"paragraph"><p>With the
<tt>--branch
</tt> option, it expands the
“previous branch syntax
”
518 <tt>@{-n}
</tt>. For example,
<tt>@{-
1}
</tt> is a way to refer the last branch you
519 were on. This option should be used by porcelains to accept this
520 syntax anywhere a branch name is expected, so they can act as if you
521 typed the branch name.
</p></div>
523 <h2 id=
"_examples">EXAMPLES
</h2>
524 <div class=
"sectionbody">
525 <div class=
"ulist"><ul>
528 Print the name of the previous branch:
530 <div class=
"listingblock">
531 <div class=
"content">
532 <pre><tt>$ git check-ref-format --branch @{-
1}
</tt></pre>
537 Determine the reference name to use for a new branch:
539 <div class=
"listingblock">
540 <div class=
"content">
541 <pre><tt>$ ref=$(git check-ref-format --print
"refs/heads/$newbranch") ||
542 die
"we do not like '$newbranch' as a branch name."</tt></pre>
547 <h2 id=
"_git">GIT
</h2>
548 <div class=
"sectionbody">
549 <div class=
"paragraph"><p>Part of the
<a href=
"git.html">git(
1)
</a> suite
</p></div>
552 <div id=
"footer-text">
553 Last updated
2010-
11-
06 00:
41:
57 UTC