github/gitignore · Global/macOS.gitignore
Разбор шаблона .gitignore для macOS
Почему 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 | Пользовательские значкиФайлы значков тома. Пользовательский значок папки хранится в файле Icon, в конце имени которого стоит символ возврата каретки (CR); шаблон ловит его шаблоном со скобками вида Icon[\r]. |
.Spotlight-V100.fseventsd.Trashes.TemporaryItems.DocumentRevisions-V100 | Системные индексы и корзинаИндекс Spotlight, журнал событий файловой системы, корзина и хранилище версий документов, которые появляются в корне внешних дисков и томов. |
.com.apple.timemachine.donotpresent.com.apple.timemachine.supportedBackups.backupdb.MobileBackups | Time MachineФайлы-метки и папки резервных копий, появляющиеся на диске резервного копирования Time Machine. |
.AppleDB.AppleDesktopNetwork Trash FolderTemporary Items.apdisk | Общие папки AFPБазы данных и папки, которые файловый сервер AFP (Apple Filing Protocol) создаёт на общих томах. Даже если в имени есть пробелы, шаблон gitignore можно писать как есть. |
__MACOSX/ | Побочные файлы распаковкиПапки ресурсных ветвей, которые появляются при распаковке zip, созданного в macOS, другими инструментами. |
На что обратить внимание на практике
- Глобальная настройка: выполните
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