ファイルが.gitignoreで無視されているか確認したい
git statusに表示されないファイルが、.gitignoreによって無視されているのか、単にコマンドの見落としなのか判断しづらい場合がある。git check-ignoreコマンドを使うと、指定したファイルが無視対象かどうかを確認できる。
$ cat .gitignore
*.log
$ git check-ignore app.log
app.log
$ git check-ignore app.txt
$ echo $?
1
無視対象のファイルはパスを出力し、終了コード0を返す。無視対象でないファイルは何も出力せず、終了コード1を返す。
-v オプションで無視されている理由を確認する
-vオプションを付けると、どの.gitignoreのどの行がマッチしたのかを確認できる。
$ git check-ignore -v app.log
.gitignore:1:*.log app.log
.gitignore:1:*.logの部分から、.gitignoreの1行目にある*.logというパターンでマッチしたと分かる。複数の.gitignoreが絡む場合や、パターンが複雑な場合に、どのルールが原因で無視されているのか特定するのに役立つ。
グローバルな.gitignoreを設定したい場合は【Git】グローバルな.gitignoreを設定する
も参照。
\第一線のプログラマーの行動原理を学べる!/
