No Git, o arquivo .gitignore é uma ferramenta essencial que ajuda você a controlar quais arquivos e diretórios serão incluídos no seu repositório de versionamento. Usando .gitignore, desenvolvedores podem impedir que arquivos desnecessários sejam rastreados, como arquivos de log, dependências ou arquivos específicos do sistema. Este guia mostra como criar e utilizar um arquivo .gitignore de forma eficiente.
O arquivo .gitignore informa ao Git quais arquivos ou diretórios devem ser ignorados em um projeto. Ele permite excluir arquivos que não são necessários para o projeto, ajudando a manter um histórico de versões mais limpo e organizado.
Evitar bagunça: impede que arquivos grandes ou desnecessários deixem o repositório desorganizado.
Privacidade: mantém informações sensíveis — como chaves de API, credenciais ou arquivos de configuração — fora do controle de versão.
Eficiência: melhora a colaboração garantindo que apenas arquivos essenciais sejam rastreados e compartilhados.
Criar um arquivo .gitignore é simples.
1. Acesse seu repositório Git.
Abra o terminal e navegue até o diretório raiz do seu projeto Git.
cd /path/to/your/git/project
2. Crie o arquivo .gitignore.
Você pode criar o arquivo usando o comando:
touch .gitignore
3. Abra e edite o arquivo .gitignore.
Abra o arquivo .gitignore no seu editor de texto e adicione os arquivos ou diretórios que deseja que o Git ignore. Por exemplo:
# Ignorar pasta node_modules
node_modules/
# Ignorar arquivos de log
*.log
# Ignorar arquivos .env
.env
4. Salve e faça o commit das alterações.
Depois de editar, salve o arquivo .gitignore e faça o commit das alterações no Git.
git add .gitignore
git commit -m "Add .gitignore"
Existem vários padrões usados com frequência em arquivos .gitignore para especificar arquivos ou diretórios que devem ser excluídos. A seguir, alguns exemplos comuns.
Ignorar arquivos por extensão:
*.log # Ignorar todos os arquivos de log
*.tmp # Ignorar todos os arquivos temporários
*.swp # Ignorar arquivos swap criados por editores de texto
Ignorar diretórios específicos:
/logs/ # Ignorar o diretório logs
/temp/ # Ignorar o diretório temp
Ignorar arquivos ocultos:
.* # Ignorar todos os arquivos ocultos que começam com ponto (ex.: .DS_Store)
Ignorar arquivos dentro de uma pasta específica:
/docs/*.pdf # Ignorar todos os arquivos PDF dentro da pasta docs
Negar um padrão (incluir arquivos que foram excluídos anteriormente):
*.pdf # Ignorar todos os arquivos PDF
!resume.pdf # Não ignorar resume.pdf
Embora o .gitignore geralmente seja criado na raiz do repositório, você também pode configurar o Git para ignorar arquivos globalmente, aplicando a configuração a todos os repositórios da máquina.
Se quiser excluir arquivos apenas no repositório atual, basta editar o arquivo .gitignore dentro do projeto. Isso garante que a exclusão se aplique somente àquele repositório.
Para criar um arquivo .gitignore global, que funcione em todos os seus repositórios, siga estes passos:
1. Crie um arquivo .gitignore global:
touch ~/.gitignore_global
2. Adicione padrões ao arquivo .gitignore global:
Edite o arquivo e inclua os padrões dos arquivos que deseja ignorar globalmente. Por exemplo:
*.log
*.tmp
.DS_Store
3. Configure o Git para usar o .gitignore global:
git config --global core.excludesfile ~/.gitignore_global
Para aproveitar ao máximo o .gitignore, siga estas boas práticas:
Crie um arquivo .gitignore assim que iniciar um projeto para evitar que arquivos desnecessários sejam rastreados.
Organize seu .gitignore agrupando padrões relacionados e adicionando comentários. Por exemplo:
# Arquivos gerados pelo sistema operacional
.DS_Store
Thumbs.db
# Dependências Node.js
node_modules/
Use o .gitignore para garantir que arquivos privados — como chaves de API e configurações confidenciais — não sejam incluídos acidentalmente no controle de versão.
Use git status para verificar se o .gitignore está excluindo arquivos corretamente. Se um arquivo ainda estiver sendo rastreado, é possível que ele tenha sido adicionado ao repositório antes de ser ignorado.
Às vezes, arquivos que deveriam ser ignorados continuam sendo rastreados. A seguir, alguns motivos comuns e suas soluções.
Se um arquivo foi adicionado ao repositório antes de ser incluído no .gitignore, o Git continuará rastreando-o. Para parar o rastreamento:
1. Remova o arquivo do Git sem apagá-lo localmente:
git rm --cached filename
2. Adicione o arquivo ao .gitignore.
3. Faça o commit do .gitignore atualizado e da remoção do arquivo em cache:
git commit -m "Update .gitignore and remove cached files"
O Git diferencia letras maiúsculas de minúsculas. Portanto, verifique se os padrões no .gitignore correspondem exatamente aos nomes dos arquivos.
Por exemplo:
file.txt # Ignora file.txt, mas não File.txt
Para verificar se um arquivo está sendo ignorado corretamente, você pode usar o comando git check-ignore:
git check-ignore -v filename
Esse comando mostra a regra responsável por ignorar o arquivo.
Usar o .gitignore de forma eficaz permite controlar quais arquivos são incluídos no seu repositório Git e garante que apenas os arquivos essenciais sejam rastreados. Siga os passos deste guia para criar, personalizar e solucionar problemas do seu arquivo .gitignore, garantindo uma gestão de versões eficiente.