Gitextensions: Simplifiez l'appel "Élaguer les branches distantes"

Créé le 20 nov. 2013  ·  4Commentaires  ·  Source: gitextensions/gitextensions

salut

Scénario--
J'ai plusieurs branches personnelles distantes que nous utilisons pour la sauvegarde personnelle, mais une fois notre tâche terminée, nous devons supprimer ces branches personnelles, mais je ne suis pas en mesure de les supprimer.

Que suis-je en train de faire?
J'utilise certaines commandes pour supprimer ces branches
git push origin : refs/origin/personal/SSOID/branch_Name
git push --force origin :refs/origin/personal/SSOID/branch_Name1

Qu'est-ce qui se passe?
La commande ci-dessus affiche un succès, mais lorsque je vérifie à partir d'une autre instance de git, ces commandes sont présentes, ce qui signifie qu'elles ne sont pas supprimées de la télécommande.

feature request up-for-grabs

Commentaire le plus utile

Vous pouvez supprimer les branches de suivi obsolètes décrites par vbjay de toute "autre instance git" pour une télécommande nommée "origine" en utilisant la commande suivante sur chaque autre instance git :

git remote prune origin

Ou, dans GitExtensions :

  • Allez dans la fenêtre "Dépôts distants"
  • Cliquez sur l'onglet Comportement d'extraction par défaut (extraction et fusion)
  • Cliquez sur le bouton [Élaguer les branches distantes]

Tous les 4 commentaires

Chaque dépôt a ses propres branches de suivi à distance. Si vous supprimez la branche sur la copie du serveur, celle sur votre ordinateur sera toujours là. Vous devez également supprimer votre branche locale. Vous avez donc deux branches à supprimer. La branche de suivi origin/personal/SSOID/.,.. et vous avez votre branche locale dans votre référentiel local qui correspond à cette branche.

Dans celui que vous vérifiez, vous voyez la branche de suivi existante. La branche distante a déjà été supprimée. Git est distribué mais il ressemble plus à des silos avec des fils. Je mets quelque chose dans silo1 et le pousse vers silo 2. Silo2 a maintenant ce que j'ai fait dans silo1. Si je supprime la branche dans silo1, silo2 aura toujours une branche de suivi vers cette branche.

Vous pouvez supprimer les branches de suivi obsolètes décrites par vbjay de toute "autre instance git" pour une télécommande nommée "origine" en utilisant la commande suivante sur chaque autre instance git :

git remote prune origin

Ou, dans GitExtensions :

  • Allez dans la fenêtre "Dépôts distants"
  • Cliquez sur l'onglet Comportement d'extraction par défaut (extraction et fusion)
  • Cliquez sur le bouton [Élaguer les branches distantes]

Lié à #1583

En relation avec cela, il serait facile de définir --prune pendant git fetch , par exemple, à titre de comparaison, la boîte de dialogue de récupération de SourceTree a une case à cocher pour cela. Je trouve GitExtensions plus efficace à utiliser pour presque tout, mais git fetch --prune est une exception notable à cela.

Cette page vous a été utile?
0 / 5 - 0 notes