No dia a dia de um desenvolvedor, é comum lidarmos com arquivos que são estritamente pessoais: scripts de automação local, arquivos de anotações, dumps de banco de dados para testes ou configurações específicas de uma IDE. Embora o .gitignore seja a ferramenta padrão para gerenciar o que o Git deve ignorar, ele é um arquivo versionado e compartilhado com toda a equipe.

Mas e quando você quer ignorar algo apenas na sua máquina, sem que ninguém mais saiba? Existem três formas poderosas de fazer isso de forma “invisível”.

1. O Arquivo Local .git/info/exclude Link para o cabeçalho

Cada repositório possui um arquivo “secreto” de exclusão. Ele funciona exatamente como o .gitignore, mas não é rastreado pelo Git.

  • Onde fica: Localizado dentro da pasta oculta .git do seu projeto.
  • Quando usar: Para arquivos de log pessoais ou rascunhos de código que pertencem apenas àquele projeto específico.
  • Vantagem: Você mantém o .gitignore oficial do projeto limpo e focado apenas no que é comum a todos os desenvolvedores.

2. Configuração de Ignore Global Link para o cabeçalho

Se você se pega repetindo as mesmas entradas de ignore em todos os seus projetos (como arquivos .DS_Store no Mac ou pastas .vscode e .idea), a solução global é a mais eficiente.

Para configurar, basta criar um arquivo em sua pasta de usuário e avisar o Git:

# Cria o arquivo global
touch ~/.gitignore_global

# Configura o Git para usá-lo em todos os repositórios
git config --global core.excludesfile ~/.gitignore_global

A partir de agora, qualquer regra adicionada nesse arquivo será aplicada automaticamente a todos os repositórios Git no seu computador.

3. A Estratégia “Assume Unchanged” Link para o cabeçalho

Às vezes, o arquivo que você quer “ignorar” já está no repositório (como um arquivo de configuração de banco de dados). Você precisa alterá-lo localmente para sua máquina, mas não quer que essa alteração apareça no seu git status.

O comando abaixo diz ao Git para “assumir que o arquivo não mudou”, mesmo que você o tenha editado:

git update-index --assume-unchanged <caminho_do_arquivo>
```

Se precisar que o Git volte a monitorar as mudanças (para subir uma atualização real, por exemplo), use: git update-index --no-assume-unchanged <caminho_do_arquivo>.


Conclusão Link para o cabeçalho

Dominar essas técnicas permite que você personalize seu fluxo de trabalho sem impactar o restante do time. O .gitignore deve ser usado para regras de negócio e estrutura do projeto; para suas preferências pessoais e necessidades temporárias, utilize o exclude local ou o global.