人類 VS .DS_Store
MacにはFinderのアプリが生むファイルとして.DS_Store
というものがある。
これが非常に邪魔くさく、特に害はないのだけどgitの管理下に入っちゃったりしてすごくうざくなってしまうという事例が多発してしまう。
ということで.DS_Store
をいかにして排除するかというメモ。
.DS_Storeとは
まず.DS_Store
とはなんなのか。そもそも削除してしまって大丈夫なものなのか。どのタイミングでポンポンと量産されているのか。
Macのシステムが各ディレクトリに勝手に生成するファインダーファイルで、ファイルやフォルダを開いた際の位置や大きさや、背景色、カスタムアイコンなどの情報を記憶しているメタデータの不可視なファイル。ディレクトリの操作(フォルダやファイルを移動や開閉など)を行った際に自動的に生成、または更新されるファイル。すべてのディレクトリにあります。よって、このデータがあるので、次回に同じ物を開く時にもまた同じサイズ、位置で開きます http://d.hatena.ne.jp/ogohnohito/20090531/p1
とのことです。以下の記事が詳しいです。
“.DS_Store”ってどんなファイル? - まりふのひと
決戦
今いるディレクトリ以下の.DS_Store
は以下のようにすれば見つけられます。
$ find . -name .DS_Store
これを利用して、以下のようにすれば一発で全部gitのトラッキング含めて削除できます。
$ find . -name .DS_Store -print0 | xargs -0 git rm
そしたら.gitignore
に.DS_Store
を追加すればokです。
# .gitignore # .DS_Store banished! .DS_Store
そのほか
- 徹底的に。。。
常に.DS_Storeを除外してしまいたいというくらい憎んでしまったときには、以下を参考にして設定してしまえばいいと思う。
Git で常に除外したい設定を .gitconfig で設定する方法 | ウェブル
- .gitignoreまとめ
ここで主要な.gitignore
がまとめられてます。めっちゃ参考になる、すごい。