Skip to the content.

Como remover do seu repositório arquivos que já foram “commitados”

Mas que agora estão no .gitignore, não basta apenas criar o arquivo de ignore. O Git continuará rastreando os arquivos que ele já conhece.

O comando principal para resolver isso é o git rm --cached. Ele remove o arquivo do controle do Git (da “staging area”), mas mantém o arquivo no seu computador.


Cuidado Antes de Começar

Antes de executar os comandos abaixo, certifique-se de que todas as suas alterações importantes já foram “commitadas” ou salvas. O ideal é começar com um “working directory clean”. Você pode verificar isso com o comando git status.


Método 1: O Mais Completo e Recomendado (Para Limpar Tudo)

Esta é a forma mais eficaz de garantir que seu repositório fique perfeitamente alinhado com as regras do seu .gitignore.

Passo 1: Remova tudo do índice do Git (não do seu disco!) Execute o seguinte comando na pasta raiz do seu projeto. Ele vai remover o rastreamento de todos os arquivos de forma recursiva.

git rm -r --cached .

Após rodar este comando, se você executar git status, verá todos os arquivos do seu projeto como “deleted” ou “untracked”. Não se preocupe, isso é o esperado.

Passo 2: Adicione tudo de volta Agora, vamos adicionar tudo novamente. Desta vez, o Git irá ler o seu arquivo .gitignore e vai ignorar todos os arquivos e pastas listados nele.

git add .

Passo 3: Faça o commit da limpeza Agora basta fazer o commit dessas alterações. É uma boa prática usar uma mensagem clara para explicar o que foi feito.

git commit -m "Chore: Limpa o repositório e aplica o gitignore"

Passo 4: Envie para o GitHub Finalmente, envie a alteração para o seu repositório remoto.

git push

Método 2: Manual (Para Remover Arquivos Específicos)

Se você quer remover apenas um arquivo ou uma pasta específica que foi adicionada por engano, pode usar o mesmo comando de forma mais direcionada.

Para remover um arquivo específico:

git rm --cached caminho/para/o/arquivo.log

Para remover uma pasta específica (como node_modules ou build):

git rm -r --cached caminho/para/a/pasta/

Depois de remover manualmente, o processo é o mesmo: faça o commit da remoção e envie para o GitHub.

git commit -m "Fix: Remove arquivos/pastas ignorados do rastreamento"
git push

Resumindo, a abordagem automática (Método 1) é a mais segura e completa para garantir que todo o repositório respeite as regras do seu .gitignore.


🚀 ricardotecpro.github.io