.png)
Eu fiz vários commits locais em minha base de código e tentei enviá-los para meu repositório, mas havia muitos arquivos grandes. Eu simplesmente desisti e continuei trabalhando, fazendo commits locais. Excluí os arquivos grandes agora e confirmei novamente, mas ainda estou tentando enviar os arquivos grandes originais. Tentei adicionar um gitignore depois de enviá-los originalmente para ignorar qualquer arquivo com mais de 50 MB, sem sucesso.
Alguma ideia?
Responder1
Leraquisobre ramo de filtro.
Alguém acidentalmente envia um arquivo binário enorme com um git add impensado e você deseja removê-lo de qualquer lugar. Talvez você tenha enviado acidentalmente um arquivo que continha uma senha e queira tornar seu projeto de código aberto. filter-branch é a ferramenta que você provavelmente deseja usar para limpar todo o seu histórico. Para remover um arquivo chamado passwords.txt de todo o seu histórico, você pode usar a opção --tree-filter para filtrar-ramo:
$ git filter-branch --tree-filter 'rm -f passwords.txt' HEAD
Rewrite 6b9b3cf04e7c5686a9cb838c3f36a8cb6a0fc2bd (21/21)
Ref 'refs/heads/master' was rewritten
Você também pode fazer um rebase interativo em seu branch no ponto onde você enviou esses arquivos e removê-los desse commit. O link acima também explica isso, mas basicamente:
git rebase -i HEAD~X
permitirá que você edite os últimos X commits.