1
resposta

Removendo arquivos permanentemente e liberando espaço-tamanho do repositório

Olá,

Estou com uma dificuldade para eliminar alguns arquivos GIGANTES do repositório os quais devem ser eliminados permanentemente.

Estes arquivos estão no repositório há algum tempo (versões antigas) e o grande problema é que estão ocupando um espaço enorme no servidor e principalmente ao baixar o repositório leva "horas".

Com os comandos abaixo consegui remover todos os arquivos da pasta "teste" de todas as branchs/commits, tags, etc, no entanto o tamanho do repositório no servidor continua o mesmo e consequentemente ao baixar o repositório (novo clone) continuo com o mesmo problema.

Poderia me ajudar? Estou fazendo algo errado? Existe forma de voltar/diminuir o tamanho do diretório após a exclusão do arquivo?

Obrigado.

git filter-branch -f --index-filter "git rm -rf --cached --ignore-unmatch teste" --prune-empty --tag-name-filter cat -- --all
rm -rf .git/refs/original/

git reflog expire --expire=now --all

git gc --prune=now

git gc --aggressive --prune=now
git push --all --force
1 resposta

Oi Andre

Já deu uma olhada no BFG?

BFG Repo-Cleaner

Removes large or troublesome blobs like git-filter-branch does, but faster. And written in Scala

https://rtyley.github.io/bfg-repo-cleaner/

É uma alternativa ao filter-branch bastante usada. O próprio GitHub indica:

https://help.github.com/articles/remove-sensitive-data/#purging-a-file-from-your-repositorys-history