Enregistrer votre travail avec des validations

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

Git ne prend pas automatiquement des captures instantanées de votre travail lorsque vous modifiez des fichiers dans votre référentiel. Vous indiquez à Git les modifications de fichier que vous souhaitez capturer dans une capture instantanée en préproduction de modifications spécifiques. Après la mise en lots, vous enregistrez la capture instantanée en effectuant une validation.

Cet article fournit des procédures pour les tâches suivantes :

  • De quelle manière Git effectue le suivi des modifications
  • Éléments d’une validation
  • De quelle manière indexer vos modifications
  • De quelle manière créer une validation
  • De quelle manière mettre à jour votre dernière validation

Pour obtenir une vue d’ensemble du flux de travail Git, consultez le tutoriel Git Azure Repos.

De quelle manière Git effectue le suivi des modifications

Lorsque vous travaillez dans votre référentiel, Git effectue le suivi des modifications apportées à tous les fichiers suivis . Les fichiers suivis sont des fichiers actuellement indexés ou inclus dans la validation précédente. Git sépare les fichiers suivis en trois catégories :

  • Fichiers non modifiés : ces fichiers n’ont pas changé depuis votre dernière validation.
  • Fichiers modifiés : fichiers que vous avez modifiés depuis votre dernière validation, mais que vous n’avez pas indexés pour la validation suivante.
  • Fichiers indexés : fichiers modifiés depuis votre dernière validation, et indexés pour la validation suivante.

Capture d’écran affichant le cycle de vie des fichiers dans votre référentiel entre les trois états.

Lorsque vous créez une validation, seuls les fichiers intermédiaires et non modifiés sont utilisés pour la capture instantanée. Les modifications non indexés des fichiers modifiés sont conservées, mais la capture instantanée contient la version non modifiée de ces fichiers. Git n’effectue aucun suivi des modifications apportées aux nouveaux fichiers et n’inclut aucun nouveau fichier dans la capture instantanée tant que vous l’avez pas indexé.

Les validations sont créées dans votre référentiel Git local. Chaque validation ne doit pas être parfaite, et plusieurs validations peuvent être nécessaires pour effectuer une modification prévue. Créez des validations au cours de votre travail, et lorsque vous avez terminé, vous pouvez envoyer à un référentiel distant pour partager votre travail avec d’autres personnes.

Éléments d’une validation

Chaque validation comprend les informations suivantes :

  • Une capture instantanée de tous les fichiers suivis dans votre référentiel lors de la validation. Une capture instantanée ne représente pas la différence entre les validations, bien que Git utilise des captures instantanées pour calculer la différence. Les captures instantanées permettent une commutation rapide entre les branches et prennent en charge la fusion de branches.
  • Référence au(x) validation(s) parente(s). La plupart des validations détiennent un parent, mais la validation suivante après une fusion de branche comporte plusieurs parents et la première validation d’un référentiel n’en a aucun.
  • Message décrivant les modifications apportées à la validation. Vous insérez le message lorsque vous créez la validation.

Git utilise les captures instantanées et les références parentes de chaque validation pour conserver un enregistrement complet du développement dans le référentiel. Pour examiner les modifications apportées à votre code, vous pouvez consulter l’historique Git de votre référentiel.

De quelle manière indexer vos modifications

Pour créer une capture instantanée pour une validation :

  • Indexez les nouveaux fichiers pour demander à Git de les ajouter à la capture instantanée, et d’effectuer le suivi des modifications apportées à ces fichiers à l’avenir.
  • Indexez les fichiers modifiés pour demander à Git de placer la version modifiée du fichier dans la capture instantanée, et non la version non modifiée du fichier.
  • Indexez les fichiers supprimés pour demander à Git de les supprimer de la capture instantanée et de ne plus les suivre.

Pour exclure des fichiers temporaires, des fichiers journaux ou d’autres fichiers de votre instantané, vous pouvez configurer Git de manière à ignorer des fichiers spécifiques.

Notes

Git prend en charge l’indexation interactive des fichiers modifiés vous permettant de choisir d’indexer des modifications spécifiques dans un fichier. Il s’agit d’une fonctionnalité utile lorsque vous souhaitez modifier différents fichiers dans différentes validations.

Visual Studio 2022 offre une expérience de contrôle de version Git à l’aide du menu Git, des modifications Git et des menus contextuels dans l’Explorateur de solutions. Visual Studio 2019 version 16.8 offre également l’interface utilisateur Git de Team Explorer. Pour plus d’informations, consultez l’onglet Visual Studio 2019 - Team Explorer.

Dans la fenêtre Modifications Git, cliquez avec le bouton droit sur un fichier de la section Modifications et choisissez Indexer pour l’ajouter à la section Modifications indexées.

Capture d’écran de l’option Modifications dans la fenêtre Modifications Git de Visual Studio.

Vous pouvez également indexer un fichier modifié en sélectionnant le signe plus à côté du fichier. Pour indexer tous les fichiers modifiés dans un dossier, sélectionnez le signe plus à côté du dossier. Pour indexer tous les fichiers modifiés dans votre référentiel, sélectionnez le signe plus dans le coin supérieur droit de la section Modifications.

Vous pouvez indiquer à Git d’ignorer un fichier en cliquant dessus avec le bouton droit et en sélectionnant Ignorer cet élément local ou Ignorer cette extension. Ces deux commandes créent un fichier .gitignore dans votre référentiel s’il n’existe pas, et y ajoute une entrée. Les fichiers ignorés n’apparaissent pas dans la section Modifications de Visual Studio. Toutefois, le fichier .gitignore n’a aucun effet sur les fichiers suivis. Pour plus d’informations concernant la configuration de Git pour ignorer les fichiers suivis, consultez Ignorer les fichiers. Pour gagner du temps, vous pouvez télécharger des modèles .gitignore pour différents environnements de développement à partir du référentiel GitHub gitignore.

Notes

À compter de Visual Studio 2022 version 17.3, Visual Studio prend en charge les modifications partielles intermédiaires dans un fichier. Pour plus d’informations, consultez Indexer des lignes de code dans Visual Studio.

De quelle manière créer une validation

Dans la fenêtre Modifications Git, insérez un message décrivant vos modifications indexées puis sélectionnez Valider les modifications indexées.

Capture d’écran affichant le lien des informations de validation dans Visual Studio.

Sélectionnez le lien de validation pour obtenir les détails de la validation.

Capture d’écran affichant le lien des détails de validation dans la fenêtre « Modifications Git » dans Visual Studio.

Notes

Si toutes vos modifications ne sont pas indexées, vous pouvez ignorer l’indexation et valider directement en choisissant Valider tout.

Capture d’écran de l’option « Valider tout » dans la fenêtre « Modifications Git » dans Visual Studio.

De quelle manière mettre à jour votre dernière validation

Git prend en charge la modification des fichiers indexés ou du message de votre dernière validation. Cette opération remplace votre dernière validation par un nouvelle validation associant les fichiers indexés des deux validations et utilisant le nouveau message de validation. La modification d’une validation est utile si vous avez oublié d’indexer un fichier ou si votre dernier message de validation présente une faute de frappe.

Avertissement

Ne modifiez pas une validation déjà envoyée, ceci pouvant causer des problèmes de synchronisation avec votre référentiel distant. Pour une validation envoyée, utilisez l’une des stratégies suivantes :

  • Créez et envoyez un autre validation corrigeant les problèmes causés par la validation précédente.
  • Annulez la validation précédente envoyée, à l’aide de git revert pour créer une nouvelle validation qui rétablit toutes les modifications apportées par la validation précédente. Ensuite, envoyez (push) la nouvelle validation.

Dans la fenêtre Modifications Git, indexez un ou plusieurs fichiers, insérez un message de validation, sélectionnez Modifier, puis choisissez Valider les modifications indexées.

Capture d'écran montrant l'option « Réviser la validation précédente » dans la fenêtre « Modifications Git » de Visual Studio.

La fenêtre Modifications Git prend en charge la révision du message de validation, des fichiers indexés ou des deux. Lorsque vous sélectionnez Réviser, l’identificateur SHA de la validation précédente s’affiche.

Étapes suivantes