github/gitignore · Global/macOS.gitignore
macOS .gitignore テンプレート解説
macOS.gitignore が .DS_Store、._ リソースフォーク、Icon ファイル、Spotlight・Time Machine・ゴミ箱フォルダーを無視する理由と、グローバル gitignore に置く方法を説明します。
macOS.gitignore は Finder と macOS のファイルシステムがユーザーの知らないうちに作るメタデータファイルを防ぐ。プロジェクトの内容とは無関係なので、本来はリポジトリではなく個人のグローバル gitignore(core.excludesFile)に置くことが推奨されるテンプレートである。
現実にはチームメンバー全員がグローバル設定をするわけではないため、.DS_Store がコミットされる事故はよくある。そのため、プロジェクトの .gitignore に一緒に入れるチームも多い。
ルール別の解説
| パターン | 何を、なぜ無視するか |
|---|---|
.DS_Store.localized | Finder のメタデータ.DS_Store は Finder がフォルダーごとに作る表示設定(アイコンの位置、並び順)のファイルである。フォルダーを開くだけで作られ、ファイル名の一覧が入っているため、意図せず情報が露出することもある。 |
._*.AppleDouble.LSOverride | リソースフォーク(AppleDouble)HFS+・APFS 以外のボリューム(FAT、ネットワーク共有)にファイルをコピーするとき、拡張属性を保存するために作られる ._ファイル名 の対になるファイルである。 |
.VolumeIcon.icns | カスタムアイコンボリュームのアイコンファイルである。フォルダーのカスタムアイコンは名前の末尾に改行文字(CR)が入った Icon ファイルとして保存され、テンプレートはこれを Icon[\r] という形のブラケットパターンで捉える。 |
.Spotlight-V100.fseventsd.Trashes.TemporaryItems.DocumentRevisions-V100 | システムインデックス・ゴミ箱外付けディスクやボリュームのルートに作られる Spotlight のインデックス、ファイルシステムのイベントログ、ゴミ箱、書類のバージョン保存領域である。 |
.com.apple.timemachine.donotpresent.com.apple.timemachine.supportedBackups.backupdb.MobileBackups | Time MachineTime Machine のバックアップディスクに作られる目印ファイルとバックアップフォルダーである。 |
.AppleDB.AppleDesktopNetwork Trash FolderTemporary Items.apdisk | AFP 共有フォルダーAFP(Apple Filing Protocol)ファイルサーバーが共有ボリュームに作るデータベースとフォルダーである。名前に空白があっても、gitignore のパターンはそのまま書けばよい。 |
__MACOSX/ | 展開時の副産物macOS で作った zip を別のツールで展開したときに出てくるリソースフォークのフォルダーである。 |
実務での注意点
- グローバル設定:
git config --global core.excludesFile ~/.gitignore_globalを実行した後、このテンプレートをそのファイルに入れる。設定しなければ既定のパス~/.config/git/ignoreが使われる。 - すでにコミットされた
.DS_Storeはgit rm --cachedで削除する。追跡解除タブで「.gitignore に一致する追跡ファイルすべて」モードを使えば一度に処理できる。 ._*ルールはアンダースコアで始まるファイルをすべて防ぐわけではない。._(ドット+アンダースコア)で始まる名前だけが対象である。
元のテンプレート
macOS.gitignore
# General.DS_Store.localized__MACOSX/.AppleDouble.LSOverrideIcon[ ]# Resource forks._*# Files and directories that might appear in the root of a volume.DocumentRevisions-V100.fseventsd.Spotlight-V100.TemporaryItems.Trashes.VolumeIcon.icns.com.apple.timemachine.donotpresent.com.apple.timemachine.supported.PKInstallSandboxManager.PKInstallSandboxManager-SystemSoftware.hotfiles.btree.vol.file.disk_label*lost+found.HFS+ Private Directory Data[ ]# Directories potentially created on remote AFP share.AppleDB.AppleDesktopNetwork Trash FolderTemporary Items.apdisk# Mac OS 6 to 9Desktop DBDesktop DFTheFindByContentFolderTheVolumeSettingsFolder.FBCIndex.FBCSemaphoreFile.FBCLockFolder# Quota system.quota.group.quota.user.quota.ops.group.quota.ops.user# TimeMachineBackups.backupdb.MobileBackups.MobileBackups.trashMobileBackups.trashtmbootpicker.efi
テンプレートの出典: github/gitignore/Global/macOS.gitignore @356fd7b (2026-09-11) · CC0-1.0