git-check-ref-format - Linux


git-check-ref-format verifies whether a given string matches the correct format for a reference name in Git. It’s useful for validating reference names in scripts or ensuring that references follow Git’s naming conventions.


git check-ref-format <refname>




Verifying a Simple Reference Name:

git check-ref-format master

Validating a Reference Name with Special Characters:

git check-ref-format refs/tags/v1.0.0-rc1

Common Issues

  • Invalid Characters: Reference names must not contain /, *, ?, [, ], or ^.
  • ** Leading and Trailing Slashes:** Reference names cannot start or end with a /.
  • Case Sensitivity: Git treats reference names as case-insensitive, so refs/heads/main and refs/heads/Main are considered the same.


git-check-ref-format can be used with other commands to validate reference names before performing operations:

# Create a new branch if the reference name is valid
if git check-ref-format $new_branch; then
    git branch $new_branch
    echo "Invalid branch name: $new_branch"

Related Commands

  • git fetch: Downloads references from a remote repository.
  • git push: Uploads references to a remote repository.
  • git tag: Creates or manipulates tags, which are lightweight references.