Existe uma maneira de limpar alguns arquivos a partir da história de git?
-
01-07-2019 - |
Pergunta
eu ter migrado um par de projeto do Subversion para Git. Ele funciona muito bem, mas quando eu clonar meu repositório, é realmente longo, porque eu tenho toda a história de um lote de arquivo .jar incluídos na transferência.
Existe uma maneira de manter apenas a versão mais recente de certo tipo de arquivo no meu repositório principal. Eu principalmente pretende eliminar versão antiga no arquivo binário.
Solução
Você pode remover versões antigas com qualquer um "rebase git" -i ou "git filter-branch"
http://schacon.github.com/git/git-filter -branch.html
http://schacon.github.com/git/git-rebase.html
Outros documentos e tutoriais: http://git-scm.com/documentation
Keeping somente a versão atual a partir de agora para frente não é suportado. Sua melhor aposta é em vez disso manter em controle de revisão de um pequeno script que download (ou constrói, ou de outro modo gera) o grande arquivo .jar.
Como esta história modifica, ele vai fazer todos os clones ou puxa anteriores deste inválido repositório.
Outras dicas
Em suma, isso envolveria reescrever todo o git commit árvore para excluir os arquivos.
Você já tentou usar git gc
e git pack
ter compressa git seu repositório?