Como remover um arquivo grande do Git após um commit
Ao tentar enviar alterações para um repositório Git, pode ocorrer um erro quando algum arquivo ultrapassa o limite de tamanho permitido pelo servidor.
Mesmo que o arquivo seja excluído posteriormente, ele pode continuar presente no histórico do commit. Nesse caso, apenas apagar o arquivo e criar um novo commit não é suficiente.
1. Verifique o status do Git
git status
2. Remova o arquivo do controle de versão
Se deseja manter o arquivo no computador, mas não quer que ele seja enviado para o Git:
git rm --cached nome-do-arquivo.sql
3. Adicione o arquivo ao .gitignore
Para evitar que o arquivo seja adicionado novamente:
echo "nome-do-arquivo.sql" >> .gitignore
4. Corrija o último commit
Se o arquivo foi incluído apenas no último commit, é possível recriar o commit sem ele:
git add .gitignore git commit --amend --no-edit
5. Verifique o commit
Confira os arquivos que fazem parte do último commit:
git show --stat HEAD
Também é possível verificar se o arquivo ainda está sendo rastreado:
git ls-tree -r HEAD | grep nome-do-arquivo.sql
Se nenhum resultado for apresentado, o arquivo não está mais presente no último commit.
6. Envie as alterações
git push origin nome-da-branch
Importante
Se o Git ainda informar que existe um arquivo ou blob acima do limite permitido, significa que o arquivo pode estar presente em algum commit anterior do histórico.
Nesse cenário, é necessário remover o arquivo do histórico do Git, e não apenas do diretório atual. Antes de utilizar comandos que alterem o histórico, é recomendado verificar os commits envolvidos e ter certeza de que não haverá impacto para outros desenvolvedores.