Template .gitignore do macOS explicado
Explica por que o macOS.gitignore ignora .DS_Store, os resource forks ._, os arquivos Icon e as pastas do Spotlight, do Time Machine e da lixeira, e como colocá-lo no gitignore global.
O macOS.gitignore bloqueia os arquivos de metadados que o Finder e o sistema de arquivos do macOS criam sem que o usuário perceba. Como não têm relação com o conteúdo do projeto, em princípio o recomendado é colocar este template em um gitignore global pessoal (core.excludesFile), e não no repositório.
Na prática, como nem todos na equipe fazem a configuração global, é comum que um .DS_Store seja commitado por acidente. Por isso muitas equipes também o incluem no .gitignore do projeto.
Explicação regra por regra
| Padrão | O que ignora e por quê |
|---|---|
.DS_Store.localized | Metadados do Finder.DS_Store é o arquivo com as configurações de visualização (posição de ícones, ordenação) que o Finder cria em cada pasta. Surge só de abrir a pasta e, como contém a lista de nomes de arquivos, pode revelar informações sem querer. |
._*.AppleDouble.LSOverride | Resource forks (AppleDouble)São os arquivos-par ._nomedoarquivo criados para guardar os atributos estendidos ao copiar arquivos para volumes que não são HFS+ nem APFS (FAT, compartilhamentos de rede). |
.VolumeIcon.icns | Ícones personalizadosÉ o arquivo de ícone do volume. Ícones personalizados de pastas são salvos em um arquivo Icon com um caractere de retorno de carro (CR) no fim do nome, e o template o pega com um padrão de colchetes na forma Icon[\r]. |
.Spotlight-V100.fseventsd.Trashes.TemporaryItems.DocumentRevisions-V100 | Índices do sistema e lixeiraSão o índice do Spotlight, o log de eventos do sistema de arquivos, a lixeira e o armazenamento de versões de documentos que surgem em discos externos ou na raiz de volumes. |
.com.apple.timemachine.donotpresent.com.apple.timemachine.supportedBackups.backupdb.MobileBackups | Time MachineSão os arquivos marcadores e as pastas de backup que surgem no disco de backup do Time Machine. |
.AppleDB.AppleDesktopNetwork Trash FolderTemporary Items.apdisk | Pastas compartilhadas por AFPSão os bancos de dados e pastas que um servidor de arquivos AFP (Apple Filing Protocol) cria nos volumes compartilhados. Mesmo que o nome tenha espaços, o padrão do gitignore é escrito como está. |
__MACOSX/ | Subprodutos de descompactaçãoÉ a pasta de resource forks que aparece ao descompactar com outras ferramentas um zip criado no macOS. |
Cuidados na prática
- Configuração global: execute
git config --global core.excludesFile ~/.gitignore_globale coloque este template nesse arquivo. Se não configurar, é usado o caminho padrão~/.config/git/ignore. - Os
.DS_Storejá commitados são removidos comgit rm --cached. Na aba Parar de rastrear, o modo “Todos os arquivos rastreados que correspondem ao .gitignore” processa tudo de uma vez. - A regra
._*não bloqueia todos os arquivos que começam com sublinhado. Só vale para nomes que começam com._(ponto + sublinhado).
Template original
# 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
Origem dos templates: github/gitignore/Global/macOS.gitignore @356fd7b (2026-09-11) · CC0-1.0