🙆♀️
ローカルの git リポジトリで特定のファイルを無視する設定をする
git で特定のファイルを無視する場合は通常 .gitignore
で管理すると思います。
しかし、自分の開発環境に依存するようなファイルをリポジトリ内に .gitignore
に追加するのは難しかったり、特定のリポジトリに依存するようなファイルをグローバルな .gitignore
に追加するのもためらわれることがあります。
自分の例でいうとリポジトリ内に sandbox
みたいなディレクトリをつくってその中に検証用のスクリプトなどを雑につくることが多いんですが、とはいえグローバルな .gitignore
に追加するのもな〜、ということで地味に困ってたんですよねー。
あと rubocop が自動で作成する tmp
のディレクトリとかね……。
こういうのがあると git status
とかでめちゃくちゃノイズになるんですよねえ。
.git/info/exclude
を利用する
こういうときにリポジトリ内の .git/info/exclude
に無視したいファイル(パス)を追加することで『特定のローカルのリポジトリ内でファイル無視する』ことができます。
tmp
や sandbox
を無視したい場合は以下のように記述することで無視できます。
# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~
tmp
sandbox
地味に困っていたのでこれは便利。
Discussion