?
This document uses PHP Chinese website manual Release
git-check-ignore - 調試 gitignore /排除文件
git check-ignore [options] pathname… git check-ignore [options] --stdin
對于通過命令行或文件via給出的每個路徑名--stdin
,檢查該文件是否被.gitignore(或排除機制的其他輸入文件)排除,并輸出路徑(如果排除)。
默認情況下,跟蹤文件根本不顯示,因為它們不受排除規(guī)則限制; 但看到 '--no-index' 。
-q, --quiet
不輸出任何內容,只需設置退出狀態(tài)即可。這只對一個路徑名有效。
-v, --verbose
還輸出有關每個給定路徑名的匹配模式(如果有)的詳細信息。有關排除源內部和之間的優(yōu)先規(guī)則,請參閱 gitignore [5]。
--stdin
從標準輸入讀取路徑名,每行一個,而不是命令行。
-z
輸出格式被修改為機器可分析的(見下文)。如果--stdin
還給出,輸入路徑用NUL字符而不是換行字符分隔。
-n, --non-matching
顯示與任何模式不匹配的給定路徑。這僅在--verbose
啟用時才有意義,否則將無法區(qū)分匹配模式的路徑和不匹配的路徑。
--no-index
進行檢查時不要查看索引。這可以用來調試為什么路徑被例如跟蹤,git add .
并且不被用戶期望的規(guī)則忽略,或者當開發(fā)包括否定的模式以匹配先前添加的路徑時git add -f
。
默認情況下,將輸出與忽略模式匹配的任何給定路徑名,每行一個。如果沒有模式匹配給定的路徑,則不會為該路徑輸出任何內容; 這意味著路徑不會被忽略。
如果--verbose
指定,輸出是一系列格式的行:
<source> <COLON> <linenum> <COLON> <pattern> <HT> <pathname>
<pathname>是被查詢文件的路徑,<pattern>是匹配模式,<source>是模式的源文件,<linenum>是該源文件中模式的行號。如果模式包含!
前綴或/
后綴,它將保留在輸出中。引用core.excludesFile
或相對于存儲庫根.git/info/exclude
目錄指定的文件或每個目錄排除文件時,<source>將是絕對路徑。
如果-z
指定,則輸出中的路徑名由空字符分隔; 如果--verbose
也被指定,則也使用空字符而不是冒號和硬標簽:
<source> <NULL> <linenum> <NULL> <pattern> <NULL> <pathname> <NULL>
如果-n
或者--non-matching
被指定,則也會輸出不匹配的路徑名,在這種情況下,每個輸出記錄中除<pathname>之外的所有字段都將為空。這在非交互式運行時非常有用,因此文件可以增量流式傳輸?shù)介L時間運行的檢查忽略進程的STDIN,并且對于其中的每個文件,STDOUT都會指示該文件是否匹配模式。(如果沒有這個選項,就不可能判斷給定文件的輸出缺失是否意味著它不匹配任何模式,或者輸出還沒有生成。)
緩沖發(fā)生GIT_FLUSH
在git [1]中的選項下。調用者負責避免溢出輸入緩沖區(qū)或從空輸出緩沖區(qū)讀取引起的死鎖。
0
一個或多個提供的路徑被忽略。
1
沒有提供的路徑被忽略。
128
遇到致命錯誤。