web-dev-qa-db-fra.com

Comment actualiser les branches (local / distant) dans Visual Studio lorsque j'utilise Git?

Sommaire

J'apprends à utiliser Git avec Visual Studio. J'ai récemment fait une demande 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 cliquer avec le bouton droit de la souris sur la branche et la supprimer. Il s'agit d'une solution de contournement, car les membres de l'équipe peuvent effectuer une demande de tirage sur une branche que j'ai sans que je le sache. S'ils suppriment la branche par la suite, je ne saurais pas qu'ils l'ont fait.

Question

Comment actualisez-vous les branches Visual Studio avec ce qui est sur Git?

Ce que j'attends

Je m'attendrais à une fonctionnalité de bouton, de lien ou de clic droit vérifiant les différences au clic. Si vous en trouvez une, elle demande: "Cette branche n'existe plus, souhaitez-vous la supprimer de Visual Studio?".

Spécifications techniques

J'utilise Visual Studio 2015 Enterprise (semble toujours être un symptôme de VS 2019)

Exemple supplémentaire

Cela pourrait être une autre question, mais cela convient si bien ici. Je viens de remarquer que si je crée une branche (par exemple dans un VM et regarde le même référentiel avec un autre)), Visual Studio n'a pas l'option git fetch Pour mettre à jour la branche. Le bouton d'actualisation en haut ne semble rien faire. Dès que j'exécute git fetch lors d'une bash, Visual Studio a la nouvelle branche. Je m'attendrais à ce que l'actualisation prenne soin de cela.

63

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

git remote Prune Origin --dry-run

(retirer le --dry-run option pour supprimer réellement les branches locales)

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

Ensuite redémarrez votre Visual Studioet vérifiez qu’il prend la liste des branches mise à jour. (les commentaires mentionnent que vous n'avez pas à redémarrer/actualiser le VS)

Note: I mentionné auparavant en 201 la configuration

git config remote.Origin.Prune true

Cela automatiserait ce processus, et semble être supporté par Visual Studio , comme mentionné ci-dessous par yaniv .

84
VonC

Selon ce billet de blog , vous pouvez définir une propriété git via

git config remote.Origin.Prune true

cela supprimera les branches supprimées de votre liste lorsque vous effectuerez une récupération.

29
Thaoden

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

Vous pouvez configurer git pour le faire automatiquement lors de l'extraction/extraction avec cette commande:

git config remote.Origin.Prune true –global

Mise à jour:

Visual Studio 2017 version 15.7.3 et ultérieure, vous pouvez le faire à l'aide de l'interface utilisateur:

  1. Dans Team Explorer, cliquez sur Accueil puis Paramétrage: enter image description here

  2. Sélectionnez Paramètres globaux

  3. Remplacez "Élaguer les branches distantes lors de l'extraction" par "Vrai"
28
yaniv

La prise en charge de VS 2017 semble être configurable dans Team Explorer:

Paramètres initiaux de Team Explorer Git> Paramètres globaux Élaguer les branches distantes pendant l'extraction: Non défini, Vrai ou Faux

11
Mark Arnold

Vous devriez annuler la publication de la branche d’abord, puis les autres remarqueront que la branche est non publiée (en essayant d’obtenir la branche qu’ils obtiendront une erreur), la suppression de la branche locale est en fait un processus distinct et doit être fait afin de se débarrasser de la branche de toute façon.

0
lkn2993