logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

git-check-attr - Display gitattributes information

Description

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

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

Git

       Part of the git(1) suite

Git 2.48.1                                         07/02/2025                                  GIT-CHECK-ATTR(1)

Name

       git-check-attr - Display gitattributes information

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.

       --source=<tree-ish>
           Check attributes against the specified tree-ish. It is common to specify the source tree by naming a
           commit, branch, or tag associated with it.

       --
           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). The caller is responsible for
       avoiding deadlocks caused by overfilling an input buffer or reading from an empty output buffer.

See Also

gitattributes(5).

Synopsis

gitcheck-attr [--source <tree-ish>] [-a | --all | <attr>...] [--] <pathname>...
       gitcheck-attr --stdin [-z] [--source <tree-ish>] [-a | --all | <attr>...]

See Also