# phpman > man > git-check-attr(1)

> **TLDR:** For every pathname, list if each attribute is unspecified, set, or unset as a gitattribute on that pathname.
>
- Check the values of all attributes on a file:
  `git check-attr {{-a|--all}} {{path/to/file}}`
- Check the value of a specific attribute on a file:
  `git check-attr {{attribute}} {{path/to/file}}`
- Check the values of all attributes on specific files:
  `git check-attr {{-a|--all}} {{path/to/file1 path/to/file2 ...}}`
- Check the value of a specific attribute on one or more files:
  `git check-attr {{attribute}} {{path/to/file1 path/to/file2 ...}}`

*Source: tldr-pages*

---

[GIT-CHECK-ATTR(1)](https://www.chedong.com/phpMan.php/man/GIT-CHECK-ATTR/1/markdown)                            Git Manual                            [GIT-CHECK-ATTR(1)](https://www.chedong.com/phpMan.php/man/GIT-CHECK-ATTR/1/markdown)



## NAME
       git-check-attr - Display gitattributes information

## SYNOPSIS
       _git_ _check-attr_ [-a | --all | <attr>...] [--] <pathname>...
       _git_ _check-attr_ --stdin [-z] [-a | --all | <attr>...]


## DESCRIPTION
       For every pathname, this command will list if each attribute is _unspecified_, _set_, or _unset_ as
       a gitattribute on that pathname.

## OPTIONS
### -a, --all
           List all attributes that are associated with the specified paths. If this option is used,
           then _unspecified_ attributes will not be included in the output.

### --cached
           Consider **.gitattributes** in the index only, ignoring the working tree.

### --stdin
           Read pathnames from the standard input, one per line, instead of from the command-line.

### -z
           The output format is modified to be machine-parsable. If **--stdin** is also given, input
           paths are separated with a NUL character instead of a linefeed character.

       --
           Interpret all preceding arguments as attributes and all following arguments as path
           names.

       If none of **--stdin**, **--all**, or **--** is used, the first argument will be treated as an attribute
       and the rest of the arguments as pathnames.

## OUTPUT
       The output is of the form: <path> COLON SP <attribute> COLON SP <info> LF

       unless **-z** is in effect, in which case NUL is used as delimiter: <path> NUL <attribute> NUL
       <info> NUL

       <path> is the path of a file being queried, <attribute> is an attribute being queried and
       <info> can be either:

       _unspecified_
           when the attribute is not defined for the path.

       _unset_
           when the attribute is defined as false.

       _set_
           when the attribute is defined as true.

       <value>
           when a value has been assigned to the attribute.

       Buffering happens as documented under the **GIT**___**FLUSH** option in [**git**(1)](https://www.chedong.com/phpMan.php/man/git/1/markdown). The caller is
       responsible for avoiding deadlocks caused by overfilling an input buffer or reading from an
       empty output buffer.

## EXAMPLES
       In the examples, the following _.gitattributes_ file is used:

           *.java diff=java -crlf myAttr
           NoMyAttr.java !myAttr
           README caveat=unspecified



       •   Listing a single attribute:

           $ git check-attr diff org/example/MyClass.java
           org/example/MyClass.java: diff: java



       •   Listing multiple attributes for a file:

           $ git check-attr crlf diff myAttr -- org/example/MyClass.java
           org/example/MyClass.java: crlf: unset
           org/example/MyClass.java: diff: java
           org/example/MyClass.java: myAttr: set



       •   Listing all attributes for a file:

           $ git check-attr --all -- org/example/MyClass.java
           org/example/MyClass.java: diff: java
           org/example/MyClass.java: myAttr: set



       •   Listing an attribute for multiple files:

           $ git check-attr myAttr -- org/example/MyClass.java org/example/NoMyAttr.java
           org/example/MyClass.java: myAttr: set
           org/example/NoMyAttr.java: myAttr: unspecified



       •   Not all values are equally unambiguous:

           $ git check-attr caveat README
           README: caveat: unspecified


## SEE ALSO
       [**gitattributes**(5)](https://www.chedong.com/phpMan.php/man/gitattributes/5/markdown).

## GIT
       Part of the [**git**(1)](https://www.chedong.com/phpMan.php/man/git/1/markdown) suite



Git 2.34.1                                   02/26/2026                            [GIT-CHECK-ATTR(1)](https://www.chedong.com/phpMan.php/man/GIT-CHECK-ATTR/1/markdown)
