Share via


Utiliser Git dans Visual Studio pour Mac

Important

La mise hors service de Visual Studio pour Mac est prévue pour le 31 août 2024, conformément à la stratégie de cycle de vie moderne de Microsoft. Bien que vous puissiez continuer à travailler avec Visual Studio pour Mac, il existe plusieurs autres options pour les développeurs sur Mac, telles que la version préliminaire de la nouvelle extension C# Dev Kit pour VS Code.

En savoir plus sur les chronologies de support et les alternatives.

Git est un système de gestion de versions distribué qui permet aux équipes de travailler simultanément sur les mêmes documents. Cela signifie qu’il existe un seul serveur contenant tous les fichiers, mais que quand un dépôt est extrait de cette source centrale, l’intégralité du dépôt est clonée sur la machine locale.

Dans les sections ci-dessous, nous allons examiner comment Git peut être utilisé pour la gestion de version dans Visual Studio pour Mac.

Menu Gestion de version Git

L’image ci-dessous illustre les options fournies par Visual Studio pour Mac dans le menu Git :

Screenshot of the Git menu in Visual Studio for Mac, showing options for Clone Repository, Pull, Commit or Stash, Push, Switch to branch, Merge, Rebase, Manage branches and remotes, Stash, pop stash, manage stashes, and branch history.

Effectuez une validation Git dans Visual Studio pour Mac

Un workflow Git consiste essentiellement à modifier des fichiers et à commiter ces changements. Bien que cet article fasse référence à des référentiels GitHub, vous pouvez travailler à distance avec le fournisseur Git de votre choix, tel que GitHub ou Azure DevOps. Vous pouvez également travailler localement sans fournisseur.

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 modifications qui seront ajoutées à la validation suivante.

Au fur et à mesure que vous effectuez votre travail, Visual Studio pour Mac assure le suivi des modifications apportées au fichier dans votre projet dans la section Modifications de la fenêtre Modifications Git.

Screenshot of the Git Changes window in Visual Studio for Mac, with a launchSettings.json file displayed in the list of Staged files.

Pour indexer des modifications lorsque vous êtes prêt, sélectionnez chaque fichier que vous souhaitez indexer, cliquez sur le bouton Index , ou faites un clic droit sur un fichier, puis sélectionnez Index.

Lorsque vous indexez une modification, Visual Studio crée une section Modifications indexées. 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".

Screenshot of the Git changes dialog, with a launchSettings.json file in the list of Changes, and a SubscriptionService.cs file in the list of staged changes. The current branch name is shown at the top of the window, along with Push, Pull, and Commit Staged buttons.

Vous pouvez également annuler les modifications en sélectionnant toutes les modifications indexées et en cliquant sur le bouton Annuler l’indexation. La commande équivalente pour cette action est git reset <file_path> pour annuler l’indexation d’un fichier unique ou git reset <directory_path> pour annuler l’indexation de 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 pour cette action est git commit -a.

Visual Studio facilite également la validation et la synchronisation en un clic à l’aide des raccourcis Tout valider et Envoyer et Tout valider et Synchroniser sous le bouton « ... ». Lorsque vous double-cliquez sur un fichier dans les sections Modifications et Modifications indexées, vous pouvez voir une comparaison ligne par ligne avec la version non modifiée du fichier.

A screenshot of the comparison view, showing line-by-line differences in changed files.

Modifications Envoi (push) et Extraction (pull)

L’envoi et le tirage sont les deux actions les plus souvent utilisées dans Git. Pour synchroniser les modifications que d’autres personnes ont apportées sur le dépôt distant, vous devez les Tirer (pull) du dépôt. Pour ce faire, dans Visual Studio pour Mac, sélectionnez le menu Git > Extraction (pull).

Une fois que vous avez mis à jour vos fichiers, que vous les avez examinés et validés, vous devez les Envoyer (push) dans le dépôt distant pour autoriser les autres utilisateurs à accéder à vos modifications. Pour ce faire, dans Visual Studio pour Mac, sélectionnez le menu Git > Envoi (push).

Vous pouvez également Valider et Envoyer (push) vos modifications en même temps, via la fenêtre Modifications Git :

Screenshot of the git Changes window open, showing a ... menu open with a Commit Staged and Push item highlighted.

Utilisation des affichages Responsabilité, Journal et Fusion

En haut de la fenêtre de l’éditeur, vous trouverez une liste déroulante avec les options de contrôle de version, comme indiqué ci-dessous :

Screenshot of a drop down menu with choices for Source, Changes, Blame, and History.

Ces onglets permettent d’effectuer les actions suivantes :

  • Source : Affiche votre fichier de code source.
  • Modifications : Affiche la modification du code entre votre fichier local et le fichier de base. Vous pouvez également comparer différentes versions du fichier à partir de hachages différents :
  • Responsable : Affiche le nom de l’utilisateur associé à chaque section de code.
  • Journal : Affiche toutes les validations, heures, dates, messages et utilisateurs qui sont responsables du fichier :
  • Fusion : Cet onglet peut être utilisé en cas de conflit de fusion pendant la validation de votre travail. Il montre une représentation visuelle des modifications apportées par vous et l’autre développeur, ce qui vous permet de combiner correctement les deux sections de code.

Changement de branches

Par défaut, la première branche créée dans un référentiel est appelée branche principale. Techniquement, il n’y a aucune différence entre la branche principale et les autres branches, si ce n’est que la branche principale est celle qui est le plus souvent considérée par les équipes de développeurs comme la branche « active » ou « de production ».

Une ligne indépendante de développement peut être créée en séparant la branche principale (ou n’importe quelle autre branche, dans notre exemple). Vous obtenez alors une nouvelle version de la branche principale à un point dans le temps, ce qui vous permet de séparer le développement de ce qui est « actif ». L’utilisation de branches de cette manière est souvent utilisée pour les fonctionnalités dans le cadre du développement de logiciels

Les utilisateurs peuvent créer autant de branches qu’ils le souhaitent pour chaque dépôt, mais il est recommandé de supprimer les branches après leur utilisation, pour que le dépôt reste organisé.

Les branches sont affichées dans Visual Studio pour Mac en accédant à Git > Gérer les branches et les dépôts distants... :

A screenshot of the Manage Branches and Remotes view, with a location branch selected.

Passez d’une branche à l’autre en la sélectionnant dans la liste et en appuyant sur le bouton Basculer vers la branche.

Pour créer une branche, sélectionnez le bouton Nouveau dans la boîte de dialogue de configuration du dépôt Git. Entrez le nom de la nouvelle branche :

A screenshot of the create new branch dialog, showing a blank name field and a message listing out allowed characters for the branch name.

Vous pouvez également définir une branche distante sur votre branche de suivi. Découvrez plus d’informations sur les branches de suivi dans la documentation Git.

Affichez la branche actuelle dans la fenêtre de Solutions, à côté du nom du projet :

A screenshot of the solution window showing a solution named NetPodcast.Services with a branch name of main in parentheses.

Voir aussi