GIT−CHECK−REF−FOR - Online Linux Manual PageSection : 1
Updated : 2023−03−13
Source : Git 2​.40​.0
Note : Git Manual

NAMEgit-check-ref-format − Ensures that a reference name is well formed

SYNOPSISgit check−ref−format [−−normalize] [−−[no−]allow−onelevel] [−−refspec−pattern] <refname> git check−ref−format −−branch <branchname−shorthand>

DESCRIPTIONChecks 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 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: 1.  They can include slash / for hierarchical (directory) grouping, but no slash−separated component can begin with a dot ​. or end with the sequence ​.lock​. 2.  They must contain at least one /​. This enforces the presence of a category like heads/, tags/ etc​. but the actual names are not restricted​. If the −−allow−onelevel option is used, this rule is waived​. 3.  They cannot have two consecutive dots ​.​. anywhere​. 4.  They cannot have ASCII control characters (i​.e​. bytes whose values are lower than \040, or \177 DEL), space, tilde ~, caret ^, or colon : anywhere​. 5.  They cannot have question−mark ?, asterisk *, or open bracket [ anywhere​. See the −−refspec−pattern option below for an exception to this rule​. 6.  They cannot begin or end with a slash / or contain multiple consecutive slashes (see the −−normalize option below for an exception to this rule) 7.  They cannot end with a dot ​.​. 8.  They cannot contain a sequence @{​. 9.  They cannot be the single character @​. 10.  They cannot contain a \​. 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 avoid ambiguities in certain reference name expressions (see gitrevisions(7)): 1.  A double−dot ​.​. is often used as in ref1​.​.ref2, and in some contexts this notation means ^ref1 ref2 (i​.e​. not in ref1 and in ref2)​. 2.  A tilde ~ and caret ^ are used to introduce the postfix nth parent and peel onion operation​. 3.  A colon : is used as in srcref:dstref to mean "use srcrefs 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"​. 4.  at−open−brace @{ is used as a notation to access a reflog entry​. With the −−branch option, the command takes a name and checks if it can be used as a valid branch name (e​.g​. when creating a new branch)​. But be cautious when using the previous checkout syntax that may refer to a detached HEAD state​. The rule git check−ref−format −−branch $name implements may be stricter than what git check−ref−format refs/heads/$name says (e​.g​. a dash may appear at the beginning of a ref component, but it is explicitly forbidden at the beginning of a branch name)​. When run with −−branch option in a repository, the input is first expanded for the previous checkout syntax @{−n}​. For example, @{−1} is a way to refer the last thing that was checked out using "git switch" or "git checkout" operation​. This option should be used by porcelains to accept this syntax anywhere a branch name is expected, so they can act as if you typed the branch name​. As an exception note that, the previous checkout operation might result in a commit object name when the N−th last thing checked out was not a branch​.

OPTIONS−−[no−]allow−onelevel Controls whether one−level refnames are accepted (i​.e​., refnames that do not contain multiple /−separated components)​. The default is −−no−allow−onelevel​. −−refspec−pattern Interpret <refname> as a reference name pattern for a refspec (as used with remote repositories)​. If this option is enabled, <refname> is allowed to contain a single * in the refspec (e​.g​., foo/bar*/baz or foo/bar*baz/ but not foo/bar*/baz*)​. −−normalize Normalize refname by removing any leading slash (/) characters and collapsing runs of adjacent slashes between name components into a single slash​. If the normalized refname is valid then print it to standard output and exit with a status of 0, otherwise exit with a non−zero status​. (−−print is a deprecated way to spell −−normalize​.)

EXAMPLES•  Print the name of the previous thing checked out: $ git check−ref−format −−branch @{−1}•  Determine the reference name to use for a new branch: $ ref=$(git check−ref−format −−normalize "refs/heads/$newbranch")|| { echo "we do not like '$newbranch' as a branch name​." >&2 ; exit 1 ; }

GITPart of the git(1) suite
0
Johanes Gumabo
Data Size   :   23,157 byte
man-git-check-ref-format.1Build   :   2024-12-05, 20:55   :  
Visitor Screen   :   x
Visitor Counter ( page / site )   :   2 / 185,875
Visitor ID   :     :  
Visitor IP   :   3.144.224.105   :  
Visitor Provider   :   AMAZON-02   :  
Provider Position ( lat x lon )   :   39.962500 x -83.006100   :   x
Provider Accuracy Radius ( km )   :   1000   :  
Provider City   :   Columbus   :  
Provider Province   :   Ohio ,   :   ,
Provider Country   :   United States   :  
Provider Continent   :   North America   :  
Visitor Recorder   :   Version   :  
Visitor Recorder   :   Library   :  
Online Linux Manual Page   :   Version   :   Online Linux Manual Page - Fedora.40 - march=x86-64 - mtune=generic - 24.12.05
Online Linux Manual Page   :   Library   :   lib_c - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Online Linux Manual Page   :   Library   :   lib_m - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Data Base   :   Version   :   Online Linux Manual Page Database - 24.04.13 - march=x86-64 - mtune=generic - fedora-38
Data Base   :   Library   :   lib_c - 23.02.07 - march=x86-64 - mtune=generic - fedora.36

Very long time ago, I have the best tutor, Wenzel Svojanovsky . If someone knows the email address of Wenzel Svojanovsky , please send an email to johanes_gumabo@yahoo.co.id .
If error, please print screen and send to johanes_gumabo@yahoo.co.id
Under development. Support me via PayPal.