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
.gitdo 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
.gitignoreoficial 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.