Comment actualiser les branches (locales / distantes) dans Visual Studio lors de l'utilisation de Git?

Résumé

J'apprends à utiliser Git avec Visual Studio. J'ai récemment fait une requête d'extraction où la branche de fonctionnalité a été supprimée après la fusion. La branche de fonctionnalité apparaît toujours dans mes branches locales et distantes dans Visual Studio. Je sais comment faire un clic droit et supprimer la branche, c'est une solution de contournement car d'autres membres de l'équipe peuvent compléter une demande d'extraction sur une branche que j'ai sans que je le sache. S'ils suppriment la branche après Je ne saurais pas qu'ils l'ont fait si.

Question

Comment rafraîchir les branches Visual Studio avec ce qui est sur Git?

Ce que j'attends

Je m'attendrais à ce qu'un bouton, un lien ou une fonctionnalité de clic droit vérifie les différences, le cas échéant, il demande: "cette branche n'existe plus, voulez-vous la supprimer de Visual Studio?".

Spécifications Techniques

J'utilise Visual Studio 2015 Enterprise

Exemple Supplémentaire

Cela pourrait être une autre question, mais cela convient donc bien ici. Je viens de remarquer que si je crée une branche (disons dans une machine virtuelle et regarde le même repo avec un autre), Visual Studio n'a pas d'option git fetch pour mettre à jour la liste des branches. Le bouton Actualiser en haut ne semble rien faire. Dès que j'exécute git fetch dans un bash, visual studio a la nouvelle branche. Je m'attendrais à ce que le rafraîchissement s'occupe de cela.

58
demandé sur JabberwockyDecompiler 2015-11-16 18:52:49

5 réponses

Si la branche a été supprimée côté serveur, essayez en ligne de commande (car un tel "bouton" ne semble pas exister directement dans Visual Studio):

git remote prune origin --dry-run

(supprimez l'option --dry-run pour supprimer les branches locales)

Supprimez également la branche locale correspondante git branch -d aBranch.

Puis redémarrez votre Visual Studio , et vérifiez qu'il récupère la liste de branches mise à jour. (les commentaires mentionnent que vous n'avez pas à redémarrer/actualiser VS)

Note: Je mentionné précédemment en 2013 la configuration

git config remote.origin.prune true

, ce Qui permettrait d'automatiser ce processus, et semble être pris en charge par Visual Studio, comme mentionnés ci-dessous par yaniv.

76
répondu VonC 2017-06-06 19:24:26

Selon ce blog, vous pouvez définir un git propriété par

git config remote.origin.prune true

Cela supprimera les branches supprimées de votre liste lorsque vous effectuez une extraction.

27
répondu Thaoden 2017-03-18 09:56:57

Depuis : https://intovsts.net/2017/01/17/refresh-git-remote-branches-in-visual-studio/

Vous pouvez configurer git pour le faire automatiquement sur fetch / pull en cours d'exécution avec cette commande:

git config remote.origin.prune true –global

Mise à Jour:

Visual Studio 2017 version 15.7.3 et supérieure, vous pouvez le faire en utilisant L'interface utilisateur:

  1. Dans Team Explorer, cliquez sur le paramètre accueil puis: entrez la description de l'image ici

  2. Sélectionnez paramètres Globaux

  3. changer " prune remote branches pendant l'extraction " à "True"
18
répondu yaniv 2018-06-12 19:43:43

VS 2017 semble avoir un support configurable dans Team Explorer:

Team Explorer Accueil Paramètre Git > Paramètres Globaux Élaguer les Branches distantes pendant L'extraction: Unset, True ou False

10
répondu Mark Arnold 2017-12-07 14:50:45

Vous devriez annuler la publication de la branche d'abord, puis d'autres remarqueront que la branche est non publiée(en essayant de tirer la branche, ils obtiendront une erreur), la suppression de la branche locale est en fait un processus séparé lui-même et doit être fait pour se débarrasser de la branche de toute façon.

0
répondu lkn2993 2015-11-23 17:29:37