Effectuer un commit Git dans Visual Studio

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 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 Changements Git dans Visual Studio 2022.

Indexer des modifications et effectuer un commit

Pour indexer les changements quand vous êtes prêt, sélectionnez le bouton + (pousser) 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".

Boîte de dialogue de commit Git dans Visual Studio 2022.

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. Consultez Comparer les fichiers – vue diff.

Comparaison ligne par ligne des versions de fichiers dans Visual Studio 2022.

Nouveautés de la version 17.6 : Vous pouvez référencer un problème ou une demande de tirage en tapant # ou en sélectionnant le bouton # en bas à droite de la zone de texte du message de commit. Pour plus d’informations, consultez le billet de blog Reference issues and pull requests.

Nouveautés de la version 17.12 : lorsque vous renommez un fichier, vous verrez une barre de notification en haut de la fenêtre Modifications Git vous informant qu’un fichier a été renommé et vous invite à mettre en scène cette modification. Cette notification s’affiche avant d’effectuer une étape ou de valider quoi que ce soit. Vous souhaiterez peut-être effectuer une étape et valider la modification avant d’apporter d’autres modifications, afin de vous assurer que Git détecte la modification en tant que renommage, et non une suppression et l’ajout d’un nouveau fichier.

Rétablir, réinitialiser ou modifier un commit

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, le réinitialiser (l’annuler), amender le message du 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 2022.

Générer des messages de validation avec GitHub Copilot Chat

Avec Visual Studio 2022 version 17.9 et ultérieures et les extensions GitHub Copilot, vous pouvez utiliser l’IA pour générer des messages de commit détaillés qui décrivent vos modifications.

Remarque

Pour activer les messages de commit générés par l’IA, vous avez besoin de GitHub Copilot et de GitHub Copilot Chat. Si vous utilisez Visual Studio version 17.10 ou une version ultérieure, consultez Obtenir GitHub Copilot pour Visual Studio 2022 version 17.10 ou une version ultérieure.

Si vous utilisez les versions 17.9 ou antérieures de Visual Studio, consultez Obtenir GitHub Copilot pour les versions 17.8 à 17.9 de Visual Studio 2022.

Capture d’écran montrant le message de commit généré par l’IA.

Lorsque vous êtes prêt à effectuer un commit, utilisez l’icône du stylet brillant (info-bulle : Ajouter un message de commit généré par l’IA) en bas à droite de la boîte de réception du message de commit pour demander un message de commit généré par l’IA. Le texte généré par l’IA est généré et ajouté à tout ce que vous avez déjà eu. Lisez-le donc attentivement pour voir s’il est exact. Vous avez la possibilité d’accepter l’insertion ou de l’ignorer. Si vous acceptez l’insertion, vous pouvez alors modifier le texte avant de l’envoyer. Lorsque vous êtes prêt, sélectionnez le bouton Commit indexé ou l’une des autres options de commit disponibles dans la liste déroulante sous la zone d’édition du message de commit.

Remarque

Découvrez comment GitHub Copilot protège la confidentialité de vos données dans la Déclaration de confidentialité de GitHub Copilot Business.