Git
English ▾ 主題 ▾ 最新版本 ▾ git-check-attr 最後更新於 2.43.0

名稱

git-check-attr - 顯示 gitattributes 資訊

概要

git check-attr [--source <tree-ish>] [-a | --all | <attr>…​] [--] <pathname>…​
git check-attr --stdin [-z] [--source <tree-ish>] [-a | --all | <attr>…​]

描述

對於每個路徑名稱,此命令將列出每個屬性在該路徑名稱上是否為未指定設定取消設定的 gitattribute。

選項

-a, --all

列出與指定路徑相關聯的所有屬性。如果使用此選項,則未指定的屬性將不會包含在輸出中。

--cached

僅考慮索引中的 .gitattributes,忽略工作目錄。

--stdin

從標準輸入讀取路徑名稱,每行一個,而不是從命令列。

-z

輸出格式被修改為機器可解析的格式。如果同時給定 --stdin,則輸入路徑會以 NUL 字元而非換行字元分隔。

--source=<tree-ish>

根據指定的 tree-ish 檢查屬性。通常透過命名與其相關聯的提交、分支或標籤來指定來源樹。

--

將所有前面的參數解讀為屬性,將所有後面的參數解讀為路徑名稱。

如果未使用 --stdin--all--,則第一個參數將被視為屬性,其餘參數將被視為路徑名稱。

輸出

輸出格式為:<路徑> COLON SP <屬性> COLON SP <資訊> LF

除非 -z 生效,在這種情況下,NUL 會被用作分隔符:<路徑> NUL <屬性> NUL <資訊> NUL

<路徑> 是正在查詢的檔案路徑,<屬性> 是正在查詢的屬性,而 <資訊> 可以是下列其中之一

未指定

當屬性未針對該路徑定義時。

取消設定

當屬性被定義為 false 時。

設定

當屬性被定義為 true 時。

<值>

當屬性已分配值時。

緩衝處理的行為如同 git[1]GIT_FLUSH 選項下所述。呼叫者有責任避免因過度填滿輸入緩衝區或從空的輸出緩衝區讀取而導致的死鎖。

範例

在範例中,使用以下 .gitattributes 檔案

*.java diff=java -crlf myAttr
NoMyAttr.java !myAttr
README caveat=unspecified
  • 列出單個屬性

$ git check-attr diff org/example/MyClass.java
org/example/MyClass.java: diff: java
  • 列出檔案的多個屬性

$ 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
  • 列出檔案的所有屬性

$ git check-attr --all -- org/example/MyClass.java
org/example/MyClass.java: diff: java
org/example/MyClass.java: myAttr: set
  • 列出多個檔案的屬性

$ git check-attr myAttr -- org/example/MyClass.java org/example/NoMyAttr.java
org/example/MyClass.java: myAttr: set
org/example/NoMyAttr.java: myAttr: unspecified
  • 並非所有值都同樣明確

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

GIT

屬於 git[1] 套件的一部分

scroll-to-top