Gitを扱う上で「.gitattributes」「.gitignore」の役割を知っておくことは重要です。
ここでは、それぞれの役割と、実際に設定が正しく反映されているかを確認するためのコマンドについて解説します。
.gitattributesの働きと評価状態をチェック
.gitattributesの働き
.gitattributes ファイルは、Gitリポジトリ内のファイルに対して特定の属性を設定するために使われます。
例えば、
- テキスト/バイナリ
- 改行コード(EOL)
- マージ(Merge)
- LFS
といった属性を明示的に指定することが出来ます。
.gitattributesの評価状態をチェック
.gitattributes に設定された属性を確認したい場合、Gitのコマンド
git check-attr
を使うことができます。このコマンドを使うことで、指定したファイルやディレクトリに対してどのような属性が適用されているかを確認できます。
# usage
git check-attr <attribute> <path>
# example
git check-attr -a hoge.txt
→ hoge.txt: eol: lf
git check-attr -a *
→ hoge.txt: eol: lf
README.md: text: auto
README.md: eol: lf
A.bin: filter: lfs
参考
Git - git-check-attr Documentation
補足
後から.gitattributesを追加した場合、既存のファイルには影響しません。
しかし「git add –renormalize」を利用することで再適用が可能です。
.gitignoreの働きと評価状態をチェック
.gitignoreの働き
.gitignore ファイルは、Gitにおいてバージョン管理の対象外にしたいファイルやディレクトリを指定するためのファイルです。例えば、コンパイルされたバイナリや一時ファイルなど、バージョン管理に不要なファイルを .gitignore に記載することで、これらがGitの追跡対象から外れます。
.gitignoreの評価状態をチェック
.gitignore に記載されたファイルやディレクトリが正しく無視されているかどうかを確認するには、
git check-ignore
を使います。このコマンドを使うことで、指定したパスが .gitignore によって無視されているかどうかを確認できます。
#usage
git check-ignore <path>
git check-ignore -v <path>
※ -vをつけると評価元のファイルも一緒に表示してくれる。
#example
git check-ignore *
→ hello.pyc
git check-ignore -v hello.pyc
→ src/api/.gitignore:5*.pyc hello.pyc
参考
Git - git-check-ignore Documentation
リンク
コメント