web-dev-qa-db-fra.com

Qu'est-ce que la taille Git?

J'ai accidentellement élagué des branches distantes et je ne sais pas vraiment quelle en est la conséquence (j'ai cliqué sur le bouton "Élaguer les branches distantes" dans Git Extensions, pensant que cela effacerait une branche distante).

La documentation officielle indique "git-Prune - Élaguer tous les objets inaccessibles de la base de données d'objets". Je ne comprends pas vraiment ce que cela signifie. J'imagine que cela aurait pu supprimer les branches fusionnées, mais je ne suis pas vraiment sûr.

65
Daniel Ball

"Élaguer les branches distantes" dans Git Extensions exécute la commande git remote Prune, qui supprime les branches de suivi distantes locales dans lesquelles la branche n'existe plus.

Voir ici: https://git-scm.com/docs/git-remote#git-remote-empruneem

68
1615903

Cette ordure récupère vos branches.

Cela signifie que si un objet (un commit) ne peut être atteint par aucun des ancêtres de votre branche, il sera supprimé de la base de données git et ne pourra donc plus être atteint.

Cela nettoie juste un peu le dépôt git et le rend plus léger.

26
blue112

Il est important de savoir que Prune est lié à repo. Tout le monde ne sait pas que vous pouvez associer votre référant local à plusieurs télécommandes. Cela s'avère pratique lorsque, par exemple, vous travaillez avec un projet open source et que vous êtes forcé de travailler via des forks.

Ainsi, la commande d'élagage nécessite un nom de dépôt. Dans la plupart des cas, il s'agit de git remote Prune Origin, mais vous n'annulez rien de votre dépôt, il n'est pas nécessaire que ce soit Origin.

3
yuranos87

Il peut y avoir des branches de fonctionnalités distantes qui sont supprimées après leur fusion en maîtres. Nous avons peut-être supprimé les branches de fonctions pour les nettoyer. Mais si vous avez extrait la branche supprimée sur le système local et que vous avez défini le statut de suivi, git pull ne supprimera pas ces branches locales (car celles-ci sont déjà déconnectées du serveur). Pour nettoyer ce type de branches orphelines locales, la commande git Prune vous sera utile.

1
Santhosh J