Maison > Article > outils de développement > nettoyage de l'entrepôt git
Cet article fournit des stratégies et des outils pour identifier et supprimer les fichiers inutiles des référentiels Git afin d'optimiser l'espace de stockage et d'améliorer les performances. Le principal problème abordé est l'accumulation d'objets en suspens, de fichiers volumineux et de fichiers inutiles. code>git gc --prune pour supprimer les objets en suspens :
Cette commande supprime les objets inaccessibles de tout commit. Les objets en suspens peuvent s'accumuler au fil du temps lorsque vous supprimez des branches ou des commits.
Utilisez git filter-branch
pour réécrire l'historique :
Vérifiez les fichiers volumineux :
Les fichiers volumineux peuvent occuper une quantité importante d'espace du référentiel. Utilisezgit ls-files -s
pour identifier les fichiers volumineux et envisagez de les déplacer vers un emplacement distinct.git gc --prune
to remove dangling objects: This command removes objects that are unreachable from any commit. Dangling objects can accumulate over time when you delete branches or commits.git filter-branch
to rewrite history: This command allows you to remove or modify specific files from the entire history of a branch. However, it's important to proceed cautiously as it rewrites the history of the repository.git ls-files -s
to identify large files and consider moving them to a separate location.git clean -n
to list untracked files and git clean -f
to remove them.After a merge or branch deletion, follow these cleanup best practices:
git branch -d <branch-name>
to delete the branch.git push <remote-name> --delete <branch-name>
.git reflog expire --expire=<duration>
to prune old entries in the reflog.git reset --hard <commit-hash>
Les fichiers non suivis ne font partie d'aucun commit et peuvent être supprimés en toute sécurité. Utilisez git clean -n
pour lister les fichiers non suivis et git clean -f
pour les supprimer.Après une fusion ou suppression de branche, suivez ces bonnes pratiques de nettoyage :
git branch -d <branch-name>
pour supprimer la branche.git push <remote-name> --delete <branch-name>
.git reflog expire --expire=<duration>
pour élaguer les anciennes entrées dans le reflog. git reset --hard <commit-hash>
. Cela supprimera toutes les modifications non validées et fera du commit spécifié le nouveau HEAD.Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!