Mac に変更してから GitHub にコミットすると、見慣れないファイル 「.DS_Store」 が毎回紛れ込んできます。
このファイルは、Mac が自動で生成するフォルダの表示設定データで、プログラムには一切不要。
最悪情報漏洩の可能性もあるため、GitHub に上げるべきではありません。
この記事では、.DS_Store を GitHub に上げないための4つの対策を、初心者でも分かりやすく解説します!
そもそも「.DS_Store」とは?
.DS_Store は、Mac の Finder が自動で作る隠しファイルです。
などを保存します。
プログラムやサイト制作には全く不要なので、Git では常に無視する設定にした方がいいです。
.DS_Store が GitHub に上がるとどうなる?
セキュリティ上、重大な問題はほぼないとは言われていますが、
- プロジェクトが汚れる
- フォルダ構成が見える
- 他の開発者に嫌がられる
- 機密情報の漏洩などにつながる可能性がある(といわれている)
ので、設定するにこしたことはありません。
.DS_Store を GitHub に上げない4つの方法
【1】Mac 全体で .DS_Store を無視する(おすすめ)
Mac の Git 全体に 無視リストを設定します。
ターミナルで以下を実行(1回だけでOK)
MacBookの場合、検索欄から「ターミナル」と入れて出てきます。
git config --global core.excludesfile ~/.gitignore_global
echo .DS_Store >> ~/.gitignore_global
これで、すべてのリポジトリから .DS_Store が自動的に除外されます。
確認方法
ターミナルに上記コードを入力しても反応がないので、心配になるかと思いますが正常です。
確認する場合は
cat ~/.gitignore_global
と入力して、.DS_Store と出力されれば成功です!
Gitに紐づいているか確認する場合は
git config --global core.excludesfile
と入力し、/Users/user(ユーザー名)/.gitignore_global みたいに出力されればOK!
【2】毎回 .gitignore に .DS_Store を追加する(リポジトリごと)
リポジトリに .gitignore を置いて、手動で無視させる方法です。
.gitignore ファイルを作成して以下を追記
.DS_Store
これでコミットすればOKです!
【3】すでに GitHub に上げてしまった .DS_Store を削除する
過去に上げてしまった場合は、Git のキャッシュから削除します。
git rm -r --cached .DS_Store
echo .DS_Store >> .gitignore
git commit -m "Remove .DS_Store"
git push
これで GitHub から完全に削除できます。
【4】FileZilla の転送から除外する
Web サーバーにアップするときも .DS_Store は不要なので転送しない設定をします。
FileZilla →「編集」→「フィルタ」
1、上のタブの「表示」
2、ディレクトリ リストのフィルタリング

3、左下の「フィルタールールの編集」

4、左下の「新規」を選択して、任意の名前を入力して「OK」

5、左側の欄から、上で入力した名前が選択されていることを確認して、右上のプルダウンから「名前」「完全一致」を選択し、「.DS_Store」 を入力。

6、左側にまた名前が出てくるので、チェックをつけて「適用」→「OK」

最後に
.DS_Store についてChatGPTに聞いたら、「セキュリティ的に重大な情報は含まないから大丈夫」と返ってきましたが、
など、かなり怖いことが検索すると出てきました。
対策は比較的簡単なので、一緒にやっていきましょう。


