Git --distributed-even-if-your-workflow-isnt
Topics ▾ Version ▾ git-check-attr last updated in 2.6.3


git check-attr attr... [--] pathname...


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



Interpret all preceding arguments as attributes, and all following arguments as path names. If not supplied, only the first argument will be treated as an attribute.


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

Where <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 to false. set;; when the attribute is defined to 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 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



Written by Junio C Hamano <>


Documentation by James Bowes.


Part of the git(1) suite