Existe-t-il un moyen de purger certains fichiers de l’histoire de git?
-
01-07-2019 - |
Question
J'ai migré quelques projets de Subversion vers git. Cela fonctionne très bien, mais lorsque je clone mon référentiel, c’est vraiment long, car j’ai toute l’historique d’un grand nombre de fichiers .jar inclus dans le transfert.
Existe-t-il un moyen de ne conserver que la dernière version d'un certain type de fichier dans mon référentiel principal. Je veux principalement supprimer l'ancienne version sur un fichier binaire.
La solution
Vous pouvez supprimer les anciennes versions à l’aide de " git rebase " -i ou "branche de filtre git"
http://schacon.github.com/git/git-filter -branch.html
http://schacon.github.com/git/git-rebase.html
Autres documents et tutoriels: http://git-scm.com/documentation
Ne garder que la version actuelle à partir de maintenant n'est pas pris en charge. Votre meilleur pari est conserver à la place dans le contrôle de révision un petit script qui télécharge (ou génère, ou génère de toute autre manière) le fichier .jar volumineux.
Comme cela modifie l'historique, tous les clones ou extraits précédents de ce référentiel seront invalides.
Autres conseils
En bref, cela impliquerait la réécriture de l’arbre de validation git complet pour exclure les fichiers.
Avez-vous essayé d’utiliser git gc
et git pack
pour que git comprime votre référentiel?