Introdução
Durante o desenvolvimento de software, a pasta do projeto pode ficar cheia de arquivos que não deveriam ser compartilhados. Entre eles, estão:
- Arquivos temporários: gerados pelo editor ou pelo sistema operacional, como
.DS_Store. - Artefatos de compilação: código compilado, como
.exee.class. - Logs: arquivos que registram a execução do programa, como
debug.log. - Segredos: chaves de API ou senhas (NUNCA faça commit desses arquivos!).
O Git oferece um recurso chamado .gitignore. Ele é uma lista simples de regras que definem o que não deve ser rastreado. Quando um arquivo corresponde a uma regra dessa lista, o Git o deixa sem rastreamento por padrão.
Esse arquivo funciona como um mecanismo de política para a árvore de trabalho. Ele informa ao Git quais arquivos sem rastreamento devem ser tratados como arquivos secundários normais, e não como possíveis arquivos-fonte para adicionar.
Isso não serve apenas para manter tudo organizado. Um bom .gitignore ajuda a evitar ruído, repositórios grandes demais e commits acidentais de segredos ou arquivos específicos da máquina.
Neste laboratório, você vai:
- Criar um arquivo de “lixo” que queremos ignorar.
- Configurar um arquivo
.gitignore. - Verificar se o Git ignora corretamente o arquivo de lixo.
Criar um arquivo de log
Primeiro, crie um arquivo que represente dados de “lixo”. Imagine que seu aplicativo gere um arquivo de log sempre que é executado. Queremos manter esse arquivo na máquina local para depuração, mas não queremos compartilhá-lo com a equipe nem salvá-lo no histórico.
Navegue até o diretório do projeto:
cd ~/project
Crie um arquivo chamado debug.log com um conteúdo de exemplo:
echo "System started at $(date)" > debug.log
Verifique se o arquivo existe:
ls
Neste momento, se você executar git status, o Git verá esse arquivo como “Untracked” e continuará sugerindo que você o adicione.
Esse é o comportamento normal para arquivos que o Git detecta, mas que ainda não estão sendo ignorados. Na prática, o Git está perguntando se o arquivo deve passar a fazer parte do repositório.
Criar o arquivo .gitignore
Para informar ao Git que ele deve ignorar determinados arquivos, precisamos de um arquivo de configuração especial chamado .gitignore.
Crie o arquivo na raiz do projeto:
touch .gitignore
Verifique se ele foi criado. Lembre-se de que ele fica oculto porque começa com um ponto:
ls -a
O arquivo .gitignore é apenas um arquivo de texto simples. Normalmente, você deve fazer commit do próprio arquivo .gitignore, para que todas as pessoas da equipe compartilhem as mesmas regras de ignorância.
Essa é uma distinção importante: os arquivos ignorados geralmente são artefatos locais, enquanto o próprio .gitignore normalmente é uma configuração do projeto e deve fazer parte do controle de versão.
Configurar as regras de ignorância
Agora, adicione uma regra para ignorar todos os arquivos de log.
Você pode usar o curinga * para indicar “qualquer coisa que termine com .log”.
Adicione o padrão *.log ao arquivo .gitignore:
echo "*.log" > .gitignore
Verifique o conteúdo do arquivo:
cat .gitignore
Saída:
*.log
Essa única linha informa ao Git: “Ignore qualquer arquivo neste diretório e em qualquer subdiretório cujo nome termine com .log”.
As regras de ignorância são baseadas em padrões, e não são instruções válidas para apenas um arquivo. Por isso, um arquivo .gitignore curto pode gerenciar várias categorias de arquivos gerados ou indesejados.
Verificar o status de ignorância
Vamos testar se a regra está funcionando.
Execute git status:
git status
Analise a saída:
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
.gitignore
Espere! Onde está debug.log?
Ele desapareceu da lista! Isso significa que o Git está ignorando o arquivo corretamente. O Git está informando apenas sobre o próprio .gitignore (que futuramente devemos incluir em um commit), enquanto debug.log está invisível para o Git.
Essa é a diferença prática entre sem rastreamento e ignorado. Os arquivos sem rastreamento continuam sendo sugeridos para adição, enquanto os arquivos ignorados são excluídos intencionalmente dessa verificação.
Se quiser ter certeza absoluta, use o comando check-ignore para perguntar: “Por que este arquivo está sendo ignorado?”:
git check-ignore -v debug.log
Saída:
.gitignore:1:*.log debug.log
Isso significa: “O arquivo debug.log é ignorado por causa da regra *.log, na linha 1 de .gitignore”.
Resumo
Neste laboratório, você aprendeu a manter o repositório limpo.
Principais aprendizados:
.gitignore: um arquivo de texto que lista padrões de arquivos que o Git deve ignorar.- Curingas: use
*para corresponder a vários arquivos, como*.log. - Sem rastreamento vs. ignorado: um arquivo ignorado é tratado como se não existisse pelo Git, embora continue existindo no disco.
Esse arquivo simples é muito poderoso. Ele evita que você faça commit acidentalmente de arquivos temporários, binários ou chaves confidenciais, mantendo o projeto profissional e seguro.



