Se você apenas remover os arquivos do commit mais recente e começar a usar o git-annex agora, ele funcionará, mas o seu repositório git existente não ficará menor. Isto é porque o seu histórico ainda contém todos os grandes arquivos verificados no Git.
Você pode usar git-filter-branch
para reescrever seus commits para remover os arquivos grandes e anexá-los, como se eles estivessem lá o tempo todo. Esse comando provavelmente seria parecido com o seguinte. Eu mesmo não testei isso porque não tenho o git-annex instalado, então você deve clonar o seu repositório e testá-lo primeiro!
git filter-branch --tree-filter 'find . -size +5M -type f -not -ipath \*.git/\* -print0 | xargs -0 git rm --cached;find . -size +5M -type f -not -ipath \*.git/\* -print0 | xargs -0 git annex add' HEAD
Passo a passo, o que esperamos é:
-
git filter-branch --tree-filter '<commands>' HEAD
Reescreva as árvores para todos os commits alcançados pelo HEAD.
-
find . -size +5M -type f -not -ipath \*.git/\* -print0 | xargs -0 git rm --cached;
Para cada consolidação, localize todos os arquivos maiores que 5 MB no repositório (menos o diretório .git) e remova-os do índice.
-
find . -size +5M -type f -not -ipath \*.git/\* -print0 | xargs -0 git annex add
Encontre todos os arquivos maiores que 5 MB no repositório e adicione-os ao anexo