2016-11-12 1 views
0

J'ai un référentiel qui utilise le code tiers qui est actuellement téléchargé et compilé en utilisant un script shell. Cela fonctionne, mais parfois les miroirs sont lents ou inaccessibles. Ce serait plus facile pour moi (puisque le code tiers n'est que des projets OpenSource) de le combiner avec mon code.Git: écraser ou effacer de gros fichiers (archives) du dépôt?

Cependant, je ne veux pas que mon dépôt git devienne énorme avec le temps (comme c'est le cas normalement, lorsque vous incluez de gros fichiers binaires qui sont stockés chaque fois que vous les mettez à jour).

Est-il possible d'effacer des archives .tar.gz (ou similaires) à partir d'un dépôt git?

Ou pourrais-je en quelque sorte écraser foo.tar.gz une fois qu'il sera obsolète? Alors qu'il ne consomme que la mémoire utilisée par la version la plus récente (et donc supprime les anciennes versions du fichier)?

+1

Cocher cette https://git-lfs.github.com/ – user3159253

+1

est ici le [doc github] officiel (https://help.github.com/articles/working-with-large-files/) sur la gestion de fichiers volumineux – user3159253

Répondre

0

Est-il possible d'effacer des archives .tar.gz (ou similaire) à partir d'un dépôt git?

How to remove big files from the repository

Il y a quelques façons de le faire:

  • Vous pouvez utiliser git filter-branch.

  • BFG Repo-Cleaner

    BFG Repo-Cleaner

    Une alternative à filtre-branche git.

    Le BFG est un plus simple, alternative plus rapide à filtre branche git pour le nettoyage mauvaises données de votre historique de dépôt Git:

    Retrait fou de gros fichiers
    Suppression des mots de passe, informations d'identification & autres les données privées

    Exemples (à partir du site officiel)

    Dans tous ces exemples, bfg est un alias pour java -jar bfg.jar.

    # Delete all files named 'id_rsa' or 'id_dsa' : 
    bfg --delete-files id_{dsa,rsa} my-repo.git 
    
  • GIT LFS (large file storage)


    enter image description here