334 votes

Pruneau automatique avec Git Fetch ou Pull

Si quelqu'un supprime une branche distante parce que le travail est terminé et que je ne le sais pas, je ne ferai pas de git fetch --prune et je repousserai éventuellement la branche supprimée.

Existe-t-il une solution viable pour forcer git à utiliser le mode élagage lors de l'extraction / extraction sans avoir à le spécifier à chaque fois?

523voto

VonC Points 414372

git 1.8.5 (T4 2013) proposera:

"git fetch" (d'où "git pull") appris à vérifier "fetch.prune" et "remote.*.prune" variables de configuration et de se comporter comme si le "--prune" option de ligne de commande a été donné.

Cela signifie que, si vous le réglez à distance.de l'origine.tailler pour de vrai:

git config remote.origin.prune true

Tout git fetch ou git pull sera automatiquement pruneau.


Voir plus à s'engager 737c5a9:

Sans "git fetch --prune", à distance de suivi des branches pour une branche de l'autre côté a déjà retiré va rester pour toujours.
Certaines personnes veulent toujours exécuter "git fetch --prune".

Pour répondre aux besoins des utilisateurs qui veulent soit taillez toujours ou lors de la récupération à partir d'une distance, d'ajouter deux nouvelles variables de configuration "fetch.prune" et "remote.<name>.prune":

  • "fetch.prune" permet d'activer la tailler pour toutes les opérations d'extraction.
  • "remote.<name>.prune" permet de changer le comportement par télécommande.

Celui-ci va naturellement remplacer l'ancien, et l' --[no-]prune option de la ligne de commande va se substituer à l'configuré par défaut.

Depuis --prune est potentiellement destructrice de l'opération (Git permet de ne pas garder reflogs pour supprimer les références encore), nous ne voulons pas de pruneaux sans le consentement des utilisateurs, de sorte que cette configuration ne sera pas activée par défaut.

21voto

Si vous voulez toujours prune lorsque vous fetch , je peux suggérer d'utiliser des alias .

Il suffit de taper git config -e pour ouvrir votre éditeur, modifier la configuration d’un projet spécifique et ajouter une section telle que

 [alias]
pfetch = fetch --prune   
 

lorsque vous récupérez avec git pfetch le pruneau sera fait automatiquement.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X