Parcourir les référentiels Git et comparer les branches dans Visual Studio

La fenêtre Modifications Git offre un moyen transparent d’interagir avec Git lors du codage sans avoir à vous éloigner de votre code. Toutefois, il est parfois plus judicieux de se concentrer sur votre référentiel Git. Par exemple, vous devrez peut-être obtenir une image claire de ce sur quoi votre équipe a travaillé ou peut-être comparer deux validations pour examiner un bogue.

Vous pouvez travailler à distance avec le fournisseur Git de votre choix, comme GitHub ou Azure DevOps.

Parcourir les branches locales et distantes

Pour commencer, ouvrez la fenêtre Référentiel Git en sélectionnant Référentiel Git dans le menu Affichage (ou en utilisant le raccourci clavier Ctrl+0, Ctrl+R). Vous pouvez également accéder à la fenêtre Référentiel Git en sélectionnant les liens sortants/entrants dans la fenêtre Modifications Git et dans la barre d’état.

Screenshot that shows the anatomy of the Git Repository window.

La fenêtre Référentiel Git contient trois sections principales, numérotées dans la capture d’écran précédente :

  1. Branches : Git permet aux utilisateurs d’effectuer plusieurs tâches et d’expérimenter leur code via des branches. Si vous 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 branches peut être utile.

  2. Graphique : cette section visualise l’état de votre branche. Elle comporte trois sous-sections :

    • Entrant affiche les validations entrantes auxquelles votre équipe a contribué.
    • Sortant affiche vos validations locales que vous n’avez toujours pas envoyées.
    • Historique local affiche le reste des validations suivies par votre référentiel local.
  3. Validation : la sélection d’une validation dans la section Graphique ouvre ses détails. Vous pouvez vérifier les modifications introduites par une validation en les sélectionnant, ce qui montre une différence. Par exemple, la capture d’écran précédente montre les modifications apportées par une validation au fichier Resize.cs.

Les raccourcis clavier Alt+Flèche haut et Alt+Alt+Flèche bas vous permettent de passer d’une section à l’autre.

Vous pouvez parcourir n’importe quelle branche locale ou distante sans avoir à changer de branche. Lorsque vous trouvez une validation sur laquelle vous souhaitez vous concentrer, sélectionnez le bouton Ouvrir dans un nouvel onglet pour ouvrir la validation dans un autre onglet.

Screenshot of how to open a commit on a new tab.

Screenshot of the tab for commit details.

Astuce

Pour afficher votre validation en plein écran, détachez votre onglet Validation et agrandissez la fenêtre Validation à l’aide du bouton Agrandir. Vous pouvez également sélectionner votre configuration de diff favorite en sélectionnant Configuration de diff (icône d’engrenage).

Screenshot of full-screen commit details with diff configurations.

Vue du graphique multi-branche

Nouveau avec la version 17.7: lorsque vous ouvrez la fenêtre dépôt Git, vous démarrez dans l’affichage de branche unique. Vous pouvez ensuite sélectionner n’importe quelle branche pour ajouter la branche et ses validations à une vue graphique multi-branches, ce qui ajoute des signaux visuels qui rendent plus efficace l’interaction avec plusieurs branches.

Screenshot of the multi-graph branch view in Visual Studio.

Il existe à la fois des étiquettes de coloration et de branche sur le côté gauche de l’historique local vue qui facilitent la trace des validations appartenant à chaque branche. Vous pouvez utiliser la liste des branches en haut du tableau pour faire défiler plus facilement les branches entre les branches et connaître immédiatement les branches qui apparaissent dans le graphique.

Comparer les validations

Pour comparer les deux validations de votre branche, utilisez la touche Ctrl pour sélectionner les deux validations que vous souhaitez comparer. Cliquez ensuite avec le bouton droit sur l’une d’elles et sélectionnez Comparer les validations.

Screenshot of how to compare two commits.

Screenshot of compared commits.

Astuce

Comme pour les Détails de la validation, vous pouvez utiliser le bouton Ouvrir dans un nouvel onglet pour ouvrir la comparaison dans un autre onglet ou l’agrandir à l’écran.

Créer une branche à partir d’une validation

Dans Visual Studio, vous pouvez utiliser le volet Graphique Git de la fenêtre Référentiel Git pour créer des branches à partir de validations précédentes. Pour ce faire, cliquez avec le bouton droit sur le validation à partir de laquelle vous souhaitez créer une branche, puis sélectionnez Nouvelle branche.

Screenshot of the Git Graph pane of the Git Repository window.

Note

La commande équivalente pour cette action est git branch <branchname> [<commit-id>].

comparer des branches.

La comparaison des branches fournit une vue d’ensemble des différences entre deux branches, ce qui peut se révéler utile avant de créer une demande de tirage (pull request), de fusionner ou même de supprimer une branche.

Diagram that illustrates how Git compares branches.

Pour comparer votre branche actuellement extraite avec d’autres branches à l’aide de Visual Studio, vous pouvez utiliser le sélecteur de branches hébergé dans la barre d’état, et la fenêtre de l’outil Git change pour choisir une branche locale ou distante avec laquelle effectuer une comparaison. Cliquez avec le bouton droit sur la branche que vous ciblez et sélectionnez Comparer avec la branche actuelle. Vous pouvez également utiliser la liste de branches dans la fenêtre Référentiel Git pour accéder à la même commande.

Animation that shows the branches comparison entry points.

Si vous sélectionnez Comparer avec la branche actuelle, vous pouvez accéder à la liste Modifications et sélectionner le fichier que vous souhaitez comparer.

Screenshot that shows how to compare branches by using the diff view.

Astuce

Si vous préférez un diff inline, vous pouvez cliquer sur l’icône d’engrenage Options de configuration diff pour basculer vers une vue diff inline. Screenshot that shows the Diff Configuration Options that're available to you.

Validations d’extraction

L’extraction d’une validation peut être bénéfique à plusieurs égards. Par exemple, cela vous permet de revenir à un point précédent de l’historique de votre référentiel où vous pouvez exécuter ou tester votre code. Cela peut également être utile si vous souhaitez passer en revue le code d’une branche distante (la branche d’un collègue, par exemple). Vous n’avez ainsi pas besoin de créer une branche locale à laquelle vous n’avez pas prévu de contribuer. Il vous suffit d’extraire l’extrémité de la branche distante que vous souhaitez consulter.

Diagram that illustrates the Git checkout commit process.

Pour extraire une validation précédente dans Visual Studio, ouvrez la fenêtre Référentiel Git, cliquez avec le bouton droit sur la validation à laquelle vous souhaitez revenir et sélectionnez checkout (–detach). Visual Studio affiche une boîte de dialogue de confirmation expliquant que, en extrayant une validation, vous vous trouverez dans un état HEAD détaché. Cela signifie que le HEAD de votre référentiel va pointer directement vers une validation au lieu d’une branche.

Animation that shows the checkout commit entry points.

Maintenant que vous êtes dans un état de HEAD détaché, n’hésitez pas à exécuter et tester votre code ou même à explorer et valider les modifications. Lorsque vous avez terminé l’exploration et que vous souhaitez revenir à votre branche, vous pouvez choisir d’ignorer vos modifications en extrayant une branche existante ou de conserver vos modifications en créant d’abord une nouvelle branche.

Important

Les validations créées dans un état HEAD détaché ne sont associées à aucune branche et peuvent être récupérées par Git une fois que vous avez extrait une branche. C’est pourquoi, pour conserver vos modifications, il est recommandé de créer une nouvelle branche avant d’en extraire une. Par exemple, les validations C5 et C6 seront collectées si nous extrayons Main sans créer de nouvelle branche. Diagram that illustrates the detached head commits in Git.

Pour plus d’informations sur l’état HEAD détaché, consultez la documentation Git HEAD détaché.

Extraire l’extrémité d’une branche distante peut être utile si vous souhaitez passer rapidement en revue une demande de tirage et évaluer les dernières mises à jour. Pour ce faire dans Visual Studio, veillez d’abord à extraire et à obtenir les dernières mises à jour à partir de votre référentiel distant. Cliquez ensuite avec le bouton droit sur la branche distante que vous souhaitez consulter, puis sélectionnez Extraire la validation de l’extrémité.

Screenshot that shows the Checkout Tip Commit option.