On dirait que mon projet devient de plus en plus grand avec chaque commit / push de git. Est-il possible de nettoyer mon dossier git?
Réponses
Trop de publicités?Je ne suis pas sûr de ce que vous voulez. Tout d'abord, bien sûr, à chaque fois que vous s'engager/pousser le répertoire est obtenir un peu plus grand, car il a pour stocker chacune de ces validations.
Toutefois, vous souhaiterez probablement git gc
"nettoyage des fichiers inutiles et d'optimiser le référentiel local" (page de man).
Un autre éventuellement pertinentes de commande est - git clean
qui permettra d'éliminer sans traces de fichiers à partir de votre arbre (page de man).
Courir:
git remote prune origin
Supprime toutes les branches de suivi obsolètes qui ont déjà été supprimées à origin
mais qui sont toujours disponibles localement à remotes/origin
.
git gc --auto
'G arbage C ollection' - exécute des tâches d'entretien ménager (compresse les révisions, supprime les objets en vrac / inaccessibles). Le drapeau --auto
détermine d’abord si un travail est requis et quitte sans rien faire sinon.
Un scénario où votre repo git obtiendrez sérieusement plus grand avec chaque commit est un endroit où vous sont en train de commettre des fichiers binaires que vous générez régulièrement. Leur stockage ne sera pas aussi efficace que fichier texte.
Un autre est celui où vous avez un grand nombre de fichiers dans un repo (qui est une limite de git) au lieu de plusieurs subrepos (géré comme submodules).
Dans cet article sur le git de l'espace, AlBlue mentionne:
Notez que Git (et Hg, et d'autres DVCSs) ne souffrent d'un problème où les (gros) fichiers binaires sont vérifiées, puis supprimés, comme ils vont encore dans le référentiel et prennent de la place, même si ils ne sont pas à jour.
Si vous avez de gros fichiers binaires stockées dans votre repo git, vous pouvez envisager:
- la gestion de ces fichiers binaires dans un référentiel externe.
- gérer votre .repo git taille
- essayez et supprimer ces fichiers binaires à partir de votre histoire avec
git filter-branch
(avertissement: cette volonté de réécrire l'histoire, ce qui est mauvais si vous avez déjà poussé votre repo et si d'autres ont tiré à partir de)