Comment Visual Studio facilite la gestion de versions avec Git

Avez-vous déjà souhaité revenir à une version opérationnelle antérieure de votre code ? Êtes-vous amené à stocker manuellement des copies de votre code à différents emplacements en tant que sauvegarde ? La gestion de versions est faite pour vous !

Git est le système de gestion de versions moderne le plus utilisé. Avec Git, vous pouvez suivre les modifications de code que vous apportez au fil du temps et revenir à des versions spécifiques. Ainsi, que vous soyez développeur professionnel ou que vous appreniez à coder, l’expérience Git de Visual Studio peut vous être très utile.

Conseil

Pour en savoir plus sur l’utilisation de Git et GitHub dans Visual Studio, inscrivez-vous à la série d’apprentissage Git.

Démarrer avec Git et GitHub dans Visual Studio

La gestion de version de Visual Studio est facile avec Git. Où que vous vous trouviez, nous sommes là. Vous pouvez travailler à distance avec le fournisseur Git de votre choix, comme GitHub ou Azure DevOps. Vous pouvez également travailler localement sans fournisseur.

Pour commencer à utiliser Git avec Visual Studio :

  • Si vous avez un dépôt Git hébergé sur un fournisseur Git comme GitHub, clonez le dépôt sur votre ordinateur local.

  • Sinon, créez facilement un dépôt Git et ajoutez votre code. Si vous n’avez pas encore de fournisseur Git, nous vous recommandons de commencer avec GitHub, car l’expérience Git dans Visual Studio est optimisée pour ce fournisseur. GitHub offre un stockage de code cloud gratuit et sécurisé dans lequel vous pouvez stocker votre code et y accéder à partir de n’importe quel appareil, n’importe où.

Non seulement vous pouvez ajouter des comptes GitHub et GitHub Enterprise à votre trousseau, mais vous pouvez également les exploiter comme vous le faites avec les comptes Microsoft. Si vous n’avez pas de compte GitHub, procédez comme suit pour créer un compte GitHub à utiliser avec Visual Studio maintenant.

Si vous débutez avec Git, le site web https://git-scm.com/ est un bon point de départ.

Capture d’écran de la boîte de dialogue Créer un référentiel Git dans Visual Studio.

Si vous souhaitez utiliser des commandes Git sur la ligne de commande, vous devez également installer Git pour Windows (et non un produit Microsoft).

Afficher les fichiers dans l’Explorateur de solutions

Quand vous clonez un dépôt ou ouvrez un dépôt local, Visual Studio bascule vers le contexte Git. L’Explorateur de solutions charge le dossier à la racine du dépôt Git et analyse l’arborescence des répertoires à la recherche des fichiers consultables tels que CMakeLists.txt ou ceux portant l’extension de fichier .sln. Pour plus d’informations, consultez Afficher les fichiers dans l’Explorateur de solutions.

Workflow de boucle interne intuitif

Pour votre workflow Git quotidien, Visual Studio offre un moyen transparent d’interagir avec Git lors du développement sans avoir à vous éloigner de votre code.

Vous pouvez gérer plusieurs tâches et expérimenter votre code via des branches. Si vous ou votre équipe travaillez sur plusieurs fonctionnalités en même temps, ou si vous souhaitez explorer des idées sans affecter votre code de travail, la création de branche est très utile. Le workflow Git recommandé utilise une nouvelle branche pour chaque fonctionnalité ou correctif sur lequel vous travaillez. Découvrez comment créer une branche à partir de Visual Studio.

Une fois que vous avez créé une branche et que vous y basculez, vous pouvez commencer à travailler en changeant des fichiers existants ou en ajoutant de nouveaux fichiers, puis en commitant votre travail dans le dépôt. Pour en découvrir plus sur la création d’un commit dans Visual Studio et pour mieux comprendre les états de fichier dans Git, reportez-vous à la page Créer un commit.

Git est un système de gestion de versions distribué, ce qui signifie que toutes les modifications apportées jusqu’à présent sont des modifications locales uniquement. Pour contribuer à ces modifications sur un dépôt distant, vous devez pousser (push) ces commits locaux vers ce dépôt distant.

Si vous travaillez en équipe ou utilisez des machines différentes, vous devez également récupérer (fetch) et tirer (pull) continuellement de nouvelles modifications sur le dépôt distant. Pour en découvrir plus sur la gestion des opérations réseau Git dans Visual Studio, reportez-vous à la page Opérations de récupération, tirage, poussée et synchronisation.

IDE Visual Studio avec affichage du menu Git et de l’onglet Modifications Git dans l’Explorateur de solutions.

Gestion du référentiel et collaboration

Toutefois, il est parfois plus judicieux de se concentrer sur votre dépôt Git. Par exemple, vous pouvez avoir besoin d’obtenir une image fidèle de ce sur quoi votre équipe travaille, de copier un commit à partir d’une autre branche ou simplement de nettoyer vos commits sortants. Visual Studio inclut des fonctionnalités puissantes de navigation dans les dépôts et de collaboration qui éliminent la nécessité d’utiliser d’autres outils.

Pour vous aider à vous concentrer sur votre dépôt Git, Visual Studio met à votre disposition une fenêtre Dépôt Git, qui est une vue centralisée de tous les détails de votre dépôt, y compris les branches locales et distantes et l’historique des commits. Vous pouvez accéder à cette fenêtre directement à partir de Git ou Affichage dans la barre de menus ou à partir de la barre d’état.

IDE Visual Studio mettant en évidence le menu Git et l’onglet Modifications Git dans l’Explorateur de solutions.

Parcourir et gérer les dépôts Git

Pour en découvrir plus sur la façon dont vous pouvez utiliser la fenêtre Dépôt Git dans Visual Studio pour parcourir et gérer votre dépôt Git, reportez-vous aux pages suivantes :

Gérer les conflits de fusion

Les conflits peuvent se produire lors d’une fusion si deux développeurs modifient les mêmes lignes dans un fichier et que Git ne sait pas automatiquement quelle modification est correcte. Git arrête la fusion et vous informe que vous êtes dans un état conflictuel. Pour en savoir plus, consultez la page Résoudre les conflits de fusion.

Personnaliser vos paramètres Git

Pour personnaliser vos paramètres Git au niveau d’un dépôt ainsi qu’au niveau global :

  1. Accédez à Git>Paramètres dans la barre de menus ou à Outils>Options>Contrôle de code source>Paramètres globaux Git

  2. Choisissez les options souhaitées.

    Capture d’écran de la boîte de dialogue Options dans laquelle vous pouvez choisir des paramètres de personnalisation dans l’IDE Visual Studio.

Amélioration des performances et de la productivité

En ce qui concerne les outils Git intégrés dans Visual Studio, nous continuons à itérer sur les améliorations du niveau de performance et de la productivité. Voici quelques mises à jour notables :

  • Graphique de validation. Dans Visual Studio 2022 version 17.2, nous avons introduit une fonctionnalité de graphe de commit pour vous aider à réduire les retards que vous pouvez rencontrer quand vous affichez votre dépôt Git ou l’historique de votre branche. Pour plus d’informations, consultez le billet de blog Supercharger votre expérience Git.

  • Basculement de branches Dans Visual Studio 2022 version 17.2, nous avons également réduit d’environ 80 % le nombre de commutateurs de branche nécessitant des rechargements de solution. Pour plus d’informations, consultez le billet de blog Améliorations des performances : basculement de branche Git.

Il existe encore plus de mises à jour de fonctionnalités dans Visual Studio 2022 version 17.6, pour inclure la possibilité de rechercher et de lier des problèmes GitHub et des éléments de travail Azure DevOps, parmi quelques-unes. Pour obtenir tous les détails, consultez le billet de blog Fonctionnalités Git pour améliorer la productivité.

Git est désormais l’expérience de gestion de versions par défaut dans Visual Studio 2019. Depuis la version 16.6, nous avons travaillé à l’élaboration de l’ensemble de fonctionnalités tout en tenant compte de vos commentaires. Dans la version 16.8, elle est devenue l’expérience de gestion de versions par défaut pour tout le monde.

Notes

Nous poursuivons tous ces efforts sur l’ensemble de fonctionnalités Git dans Visual Studio 2022 également. Pour en découvrir plus sur une mise à jour récente des fonctionnalités, consultez le billet de blog Prise en charge multi-dépôt dans Visual Studio.

En savoir plus sur Git

Git étant le système de gestion de versions moderne le plus utilisé, que vous soyez développeur professionnel ou que vous appreniez à coder, il peut vous être très utile. Si vous débutez avec Git, le site web https://git-scm.com/ est un bon point de départ. Vous y trouverez des aide-mémoire, un livre en ligne populaire et des vidéos Git Basics pour acquérir les bases de Git.

Démarrer avec Git dans Visual Studio 2019

Nous allons vous guider tout au long de l’utilisation de la nouvelle expérience Git dans Visual Studio, mais si vous souhaitez d’abord effectuer une visite guidée rapide, regardez la vidéo suivante :

Durée de la vidéo : 5,27 minutes

Il existe trois façons de commencer à utiliser Git avec Visual Studio pour être plus productif :

  • Créer un dépôt Git. Si vous avez déjà du code qui n’est pas associé à Git, vous pouvez commencer par créer un dépôt Git.
  • Cloner un dépôt Git existant. Si le code sur lequel vous souhaitez travailler n’est pas sur votre ordinateur, vous pouvez cloner des dépôt distants existants.
  • Ouvrir un dépôt Git existant. Si votre code se trouve déjà sur votre ordinateur, vous pouvez l’ouvrir en choisissant Fichier>Ouvrir>Projet/Solution (ou Dossier) et Visual Studio détecte automatiquement s’il a un dépôt Git initialisé.

Notes

À compter de Visual Studio 2019 version 16.8, nous incluons une expérience de compte GitHub entièrement intégrée. Vous pouvez maintenant ajouter des comptes GitHub et GitHub Enterprise à votre trousseau. Vous pourrez les ajouter et les exploiter comme vous le faites avec des comptes Microsoft, ce qui signifie que vous aurez plus de facilité à accéder à vos ressources GitHub dans Visual Studio. Pour plus d’informations, consultez la page Utiliser des comptes GitHub dans Visual Studio.

Conseil

Si vous n’avez pas de compte GitHub, vous pouvez commencer par suivre les étapes décrites dans la Créer un compte GitHub à utiliser avec Visual Studio.

Créer un dépôt Git dans Visual Studio 2019

Si votre code n’est pas associé à Git, vous pouvez commencer par créer un dépôt Git. Pour ce faire, sélectionnez Git>Create un dépôt Git dans la barre de menus. Ensuite, dans la boîte de dialogue Créer un dépôt Git, entrez vos informations.

Boîte de dialogue Créer un dépôt Git dans Visual Studio.

La boîte de dialogue Créer un dépôt Git facilite la poussée de votre nouveau dépôt vers GitHub. Par défaut, votre nouveau dépôt est privé, ce qui signifie que vous seul pouvez y accéder. Si vous décochez la case, votre dépôt sera public, ce qui signifie que toute personne sur GitHub peut l’afficher.

Conseil

Que votre dépôt soit public ou privé, il est préférable d’avoir une sauvegarde à distance de votre code stockée de manière sécurisée sur GitHub même si vous ne travaillez pas en équipe. Vous avez ainsi accès à votre code, quel que soit l’ordinateur que vous utilisez.

Vous pouvez choisir de créer un dépôt Git local uniquement avec l’option Local uniquement. Vous pouvez également lier votre projet local à un dépôt distant vide existant sur Azure DevOps ou tout autre fournisseur Git avec l’option Dépôt distant existant.

Cloner un dépôt Git existant dans Visual Studio 2019

Visual Studio inclut une expérience de clonage simple. Si vous connaissez l’URL du dépôt que vous souhaitez cloner, vous pouvez coller l’URL dans la section Emplacement du dépôt, puis choisir l’emplacement du disque vers lequel vous souhaitez que Visual Studio effectue le clonage.

Boîte de dialogue Cloner un dépôt Git dans Visual Studio.

Si vous ne connaissez pas l’URL du dépôt, Visual Studio vous permet d’accéder à votre dépôt GitHub ou Azure DevOps existant, puis de le cloner facilement.

Ouvrir un dépôt local existant dans Visual Studio 2019

Une fois que vous avez cloné ou créé un dépôt, Visual Studio détecte le dépôt Git et l’ajoute à votre liste de dépôts locaux dans le menu Git.

À partir de là, vous pouvez rapidement accéder à vos dépôts Git et basculer de l’un à l’autre.

Option Dépôts locaux du menu Git dans Visual Studio

Afficher les fichiers dans l’Explorateur de solutions de Visual Studio 2019

Quand vous clonez un dépôt ou ouvrez un dépôt local, Visual Studio vous fait basculer dans ce contexte Git en enregistrant et en fermant les solutions et projets ouverts. L’Explorateur de solutions charge le dossier à la racine du dépôt Git et analyse l’arborescence des répertoires à la recherche des fichiers consultables. Ces fichiers incluent des fichiers tels que CMakeLists.txt ou ceux portant l’extension .sln.

Visual Studio ajuste son affichage en fonction du fichier que vous chargez dans l’Explorateur de solutions :

  • Si vous clonez un dépôt qui contient un seul fichier .sln, l’Explorateur de solutions charge directement cette solution pour vous.
  • Si l’Explorateur de solutions ne détecte aucun fichier .sln dans votre dépôt, il charge par défaut la vue Dossier.
  • Si votre dépôt comporte plusieurs fichiers .sln, l’Explorateur de solutions affiche la liste des vues disponibles parmi lesquelles vous pouvez choisir.

Vous pouvez basculer entre la vue ouverte et la liste des vues avec le bouton Changer de vue dans la barre d’outils de l’Explorateur de solutions.

Explorateur de solutions avec le bouton Changer de vue sélectionné dans Visual Studio.

Pour plus d’informations, consultez la section Afficher les fichiers dans l’Explorateur de solutions du tutoriel Ouvrir un projet à partir d’un dépôt.

Fenêtre Modifications Git dans Visual Studio 2019

Git effectue le suivi des changements de fichier dans votre dépôt à mesure que vous travaillez, et sépare les fichiers de votre dépôt en trois catégories. Ces changements sont équivalents au résultat de la commande git status dans la ligne de commande :

  • Fichiers non modifiés : ces fichiers n’ont pas changé depuis votre dernier commit.
  • Fichiers modifiés : ces fichiers ont changé depuis votre dernier commit, mais vous ne les avez pas encore indexés pour le prochain commit.
  • Fichiers indexés : ces fichiers ont des changements qui seront ajoutés au prochain commit.

À mesure que vous travaillez, Visual Studio effectue le suivi des changements de fichier dans votre projet dans la section Changements de la fenêtre Changements Git.

Fenêtre Modifications Git dans Visual Studio.

Quand vous êtes prêt à indexer les changements, cliquez sur le bouton + (plus) sur chaque fichier que vous souhaitez indexer, ou cliquez avec le bouton droit sur un fichier et sélectionnez Indexer. Vous pouvez également indexer tous vos fichiers modifiés en un seul clic en utilisant le bouton Tout indexer + (plus) en haut de la section Changements.

Quand vous indexez un changement, Visual Studio crée une section Changements indexés. Seuls les changement de la section Changements indexés sont ajoutés au prochain commit, ce que vous pouvez faire en sélectionnant Commit indexé. La commande équivalente de cette action est git commit -m "Your commit message". Vous pouvez également désindexer les changements en cliquant sur le bouton (moins). La commande équivalente de cette action est git reset <file_path> pour désindexer un seul fichier, ou git reset <directory_path> pour désindexer tous les fichiers d’un répertoire.

Vous pouvez également choisir de ne pas indexer vos fichiers modifiés en ignorant la zone d’indexation. Dans ce cas, Visual Studio vous permet de commiter vos changements directement sans avoir à les indexer. Entrez simplement votre message de commit, puis sélectionnez Tout commiter. La commande équivalente de cette action est git commit -a.

Visual Studio facilite également le commit et la synchronisation en un clic en utilisant les raccourcis Tout commiter et pousser et Tout commiter et synchroniser. Quand vous double-cliquez sur un fichier dans les sections Changements et Changements indexés, vous pouvez voir une comparaison ligne par ligne avec la version non modifiée du fichier.

Comparaison ligne par ligne des versions de fichiers dans Visual Studio

Conseil

Vous pouvez associer un élément de travail Azure DevOps à un commit avec le caractère « # » si vous êtes connecté au dépôt Azure DevOps. Vous pouvez connecter votre dépôt Azure DevOps via Team Explorer>Gérer les connexions.

Sélectionner une branche existante dans Visual Studio 2019

Visual Studio affiche la branche actuelle dans le sélecteur en haut de la fenêtre Modifications Git.

Branches actuelles que vous pouvez afficher avec le sélecteur en haut de la fenêtre Modifications Git dans Visual Studio

La branche actuelle est également disponible dans la barre d’état située en bas à droite de l’IDE Visual Studio.

Branches actuelles que vous pouvez afficher avec la barre d’état située en bas à droite dans l’IDE Visual Studio

À partir des deux emplacements, vous pouvez basculer entre les branches existantes.

Créer une branche dans Visual Studio 2019

Vous pouvez aussi créer une branche. La commande équivalente de cette action est git checkout -b <branchname>.

Il est aussi simple de créer une branche que d’entrer le nom de la branche et de la baser sur une branche existante.

Boîte de dialogue Créer une branche dans Visual Studio

Vous pouvez choisir une branche locale ou distante existante comme base. La case à cocher Branche de validation vous bascule automatiquement vers la branche créée. La commande équivalente de cette action est git checkout -b <new-branch><existing-branch>.

Fenêtre Dépôt Git dans Visual Studio 2019

Visual Studio dispose d’une nouvelle fenêtre Dépôt Git, qui est une vue centralisée de tous les détails de votre dépôt, y compris toutes les branches, dépôts distants et historiques des commits. Vous pouvez accéder à cette fenêtre directement à partir de Git ou Affichage dans la barre de menus ou à partir de la barre d’état.

Gérer les branches dans Visual Studio 2019

Quand vous sélectionnez Gérer les branches dans le menu Git, vous voyez l’arborescence des branches dans la fenêtre Dépôt Git. Dans le volet gauche, vous pouvez utiliser le menu contextuel pour extraire des branches, créer des branches ainsi que pour effectuer des opérations de fusion, rebasage, cherry-picking, etc. Quand vous cliquez sur la branche, vous pouvez voir un aperçu de son historique de commits dans le volet droit.

Commits entrants et sortants dans Visual Studio 2019

Quand vous récupérez une branche, la fenêtre Changements Git a un indicateur sous la liste déroulante des branches qui montre le nombre de commits non tirés dans la branche distante. Cet indicateur montre également le nombre de commits locaux non poussés.

Fenêtre Modifications Git montrant l’élément d’interface utilisateur de liste déroulante de l’indicateur dans Visual Studio

L’indicateur fonctionne également comme un lien vers l’historique de commits de cette branche dans la fenêtre Dépôt Git. Le haut de l’historique affiche désormais les détails de ces commits entrants et sortants. À partir de là, vous pouvez également décider de tirer ou de pousser les commits.

Fenêtre Dépôt Git montrant l’historique de commits d’une branche dans Visual Studio

Détails des commits dans Visual Studio 2019

Quand vous double-cliquez sur un commit, Visual Studio ouvre ses détails dans une fenêtre Outil distincte. Là, vous pouvez rétablir le commit, réinitialiser le commit, amender le message de commit ou créer une étiquette sur le commit. Quand vous cliquez sur un fichier changé dans le commit, Visual Studio ouvre la vue Diff du commit et de son parent côte à côte.

Boîte de dialogue Détails du commit dans Visual Studio

Gérer les conflits de fusion dans Visual Studio 2019

Les conflits peuvent se produire lors d’une fusion si deux développeurs modifient les mêmes lignes dans un fichier et que Git ne sait pas automatiquement quelle modification est correcte. Git arrête la fusion et vous informe que vous êtes dans un état conflictuel.

Visual Studio facilite l’identification et la résolution d’un conflit de fusion. Tout d’abord, la fenêtre Dépôt Git affiche une barre d’info dorée dans sa partie supérieure.

Message « Fusion terminée avec conflits » dans Visual Studio

En outre, la fenêtre Modifications Git affiche un message « Fusion en cours avec conflits » et, sous ce dernier, dans une section distincte, les fichiers non fusionnés.

Message « Fusion en cours avec conflits » dans Visual Studio

Toutefois, si aucune de ces fenêtres n’est ouverte et que vous accédez au fichier qui contient des conflits de fusion, vous n’avez pas besoin de rechercher le texte suivant :

    <<<<<<< HEAD
    =======
    >>>>>>> main

À la place, Visual Studio affiche, en haut de la page, une barre d’info dorée qui indique que le fichier ouvert contient des conflits. Vous pouvez alors cliquer sur le lien pour ouvrir l’Éditeur de fusion.

Capture d’écran du message « Le fichier contient des conflits de fusion » dans Visual Studio

Éditeur de fusion dans Visual Studio 2019

L’Éditeur de fusion dans Visual Studio est un outil de fusion triple qui affiche les modifications entrantes, vos modifications actuelles et le résultat de la fusion. Vous pouvez utiliser la barre d’outils au niveau supérieur de l’Éditeur de fusion pour naviguer entre les conflits et les différences fusionnées automatiquement dans le fichier.

Éditeur de fusion dans Visual Studio

Vous pouvez également utiliser les bascules pour afficher/masquer les différences, afficher/masquer les différences de mots et personnaliser la disposition. Vous disposez de cases à cocher en haut de chaque côté pour prendre toutes les modifications d’un côté ou de l’autre. Toutefois, pour prendre des modifications individuelles, vous pouvez cliquer sur les cases à gauche des lignes conflictuelles de chaque côté. Enfin, quand vous avez terminé de résoudre les conflits, vous pouvez sélectionner le bouton Accepter la fusion dans l’Éditeur de fusion. Vous écrivez ensuite un message de commit et commitez les modifications pour terminer la résolution.

Personnaliser vos paramètres Git dans Visual Studio 2019

Pour personnaliser vos paramètres Git au niveau d’un dépôt, ainsi qu’à un niveau global, accédez à Git>Paramètres dans la barre de menus ou à Outils>Options>Contrôle de code source dans la barre de menus. Choisissez ensuite les options souhaitées.

Boîte de dialogue Options dans laquelle vous pouvez choisir des paramètres de personnalisation dans l’IDE Visual Studio.

Comment utiliser l’expérience Team Explorer complète dans Visual Studio 2019

La nouvelle expérience Git est le système de gestion de versions par défaut dans Visual Studio 2019 à compter de la version 16.8. Toutefois, si vous souhaitez la désactiver, vous le pouvez. Accédez à Outils>Options>Environnement>Fonctionnalités d’évaluation, puis cochez la case Nouvelle expérience utilisateur Git, qui vous permet de revenir à Team Explorer pour Git.

Section Fonctionnalités d’évaluation de la boîte de dialogue Options dans Visual Studio