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)
git config --global core.excludesfile ~/.gitignore_global
echo .DS_Store >> ~/.gitignore_global
これで、すべてのリポジトリから .DS_Store が自動的に除外されます。
【2】毎回 .gitignore に .DS_Store を追加する(リポジトリごと)
リポジトリに .gitignore を置いて、手動で無視させる方法です。
.gitignore に以下を追記:
.DS_Store
GitHub の新規リポジトリ作成画面では、
Add .gitignore → macOS を選ぶと自動生成されて便利です。
(macOS 用の不要ファイルリストが最初から入った .gitignore が作られます)
【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 の転送から除外する(FTP を使う場合)
Web サーバーにアップするときも .DS_Store は不要なので転送しない設定をします。
FileZilla →「編集」→「フィルタ」
- 新規フィルタを作成
- ルールに 「ファイル名に
.DS_Storeを含む」 を追加 - フィルタを有効化
まとめ:一番ラクなのは「① 全体設定」
4つの方法がありますが、
✨ 一番おすすめ
Mac 全体に .gitignore_global を設定する方法
一度設定するだけで、
どのプロジェクトでも .DS_Store が自動で無視されるようになります。
おまけ:なぜ Mac は .DS_Store を勝手に作るの?
Finder の仕様で、
「フォルダの見た目の設定を保存するため」
に必ず作られます。
残念ながら削除してもまた出てきます。
なので、Git に無視させることが大切です。

