Skip to content
Solução de Problemas5 min de leituraVerificado no Git 2.40+

Como ignorar arquivos já rastreados no Git

O passo a passo definitivo para resolver uma das principais dúvidas no Git: parar de rastrear arquivos de configuração ou builds sem perder seus dados locais.

1. Por que o .gitignore só se aplica a arquivos não rastreados

Por definição da arquitetura do Git, o arquivo .gitignore afeta apenas arquivos não rastreados (untracked). Uma vez que um arquivo foi adicionado com git add e registrado em um commit, o Git passa a monitorá-lo ativamente em seu índice.

O Git nunca deixará de vigiar um arquivo rastreado apenas porque uma nova regra foi inserida no .gitignore. Para aplicar o padrão de ignorar, é indispensável remover o arquivo do índice do Git, preservando a cópia física em sua máquina.

A regra de ouro do .gitignore

O .gitignore impede a adição acidental de novos arquivos ao repositório. Ele não remove do rastreamento aquilo que o Git já está vigiando.

2. Método 1: Remover um arquivo individual do rastreamento

Utilize a opção --cached junto ao comando git rm para excluir o arquivo do índice do repositório sem apagar sua cópia local:

bash
# 1. Certifique-se de que a regra está no seu .gitignore
echo ".env" >> .gitignore

# 2. Remova o arquivo apenas do índice do Git
git rm --cached .env

# 3. Comite a alteração
git commit -m "Stop tracking .env file"

3. Método 2: Remover uma pasta inteira recursivamente

Se uma pasta inteira como build/ ou node_modules/ foi commitada por engano, inclua a opção recursiva -r junto com --cached:

bash
# 1. Adicione a pasta ao .gitignore
echo "build/" >> .gitignore

# 2. Remova a pasta recursivamente do índice
git rm -r --cached build/

# 3. Comite a remoção
git commit -m "Stop tracking build/ output directory"

4. Método 3: Redefinir o cache de rastreamento do repositório

Se vários arquivos foram commitados antes da criação do .gitignore, o método mais limpo é redefinir todo o índice do repositório:

bash
# 1. Confirme que o ambiente de trabalho está limpo ou em stash
git status

# 2. Remova todos os arquivos do índice do Git
git rm -r --cached .

# 3. Readicione os arquivos respeitando as regras do .gitignore
git add .

# 4. Comite o índice atualizado
git commit -m "Refresh repository tracking to match .gitignore"

5. Segurança local e impacto ao trabalhar em equipe

Importante: Segurança local vs git pull dos colegas

O comando git rm --cached mantém seus arquivos locais intactos. No entanto, quando você envia esse commit para o repositório remoto, outros desenvolvedores que executarem git pull terão o arquivo apagado de seus discos locais, a menos que façam um backup antes.

Comunique sua equipe antes de subir alterações que removam arquivos de configuração do rastreamento e disponibilize modelos como .env.example.

Perguntas Frequentes

Respostas práticas para dúvidas comuns de desenvolvedores sobre regras de .gitignore, cache e configuração de repositórios.

Por que o Git continua monitorando meu arquivo após colocá-lo no .gitignore?

O .gitignore afeta apenas arquivos não rastreados. Se ele já foi commitado anteriormente, continuará no índice até que você execute 'git rm --cached <arquivo>'.

O comando git rm --cached apaga o arquivo do meu computador?

Não. A flag --cached remove o arquivo exclusivamente do índice de rastreamento do Git. Seus dados e arquivos locais permanecem inalterados.

O que acontece quando outros desenvolvedores executam git pull?

Como o Git registra a exclusão do arquivo no repositório, o git pull removerá o arquivo nos computadores dos colegas. Compartilhe sempre um .env.example para recriação.

← Ler guiasAbrir no gerador completo