Git --fast-version-control
Topics ▾ Version 1.7.8 ▾ git-check-attr last updated in 2.6.3


git check-attr [-a | --all | attr...] [--] pathname...
git check-attr --stdin [-z] [-a | --all | attr...] < <list-of-paths>


For every pathname, this command will list if each attribute is unspecified, set, or unset as a gitattribute on that pathname.


-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.


Consider .gitattributes in the index only, ignoring the working tree.


Read file names from stdin instead of from the command-line.


Only meaningful with --stdin; 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.


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

<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.


In the examples, the following .gitattributes file is used:

*.java diff=java -crlf myAttr !myAttr
README caveat=unspecified
  • Listing a single attribute:

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

  • Listing multiple attributes for a file:

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

  • Listing all attributes for a file:

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

  • Listing an attribute for multiple files:

    $ git check-attr myAttr -- org/example/ org/example/
    org/example/ myAttr: set
    org/example/ myAttr: unspecified

  • Not all values are equally unambiguous:

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



Part of the git(1) suite