Partager via


Résoudre les conflits du contrôle de version Team Foundation

 

Publication: mars 2016

L'avantage d'utiliser contrôle de version Team Foundation pour gérer vos fichiers est que plusieurs personnes peuvent travailler simultanément sur un même fichier. L'inconvénient est que parfois vous devez résoudre les conflits avant de pouvoir obtenir, archiver, déréserver, fusionner ou restaurer vos fichiers.

Bien qu'il puisse être frustrant de rencontrer des conflits, le système fournit de la documentation et des outils pour vous aider à comprendre et à résoudre les conflits.

  • Résoudre des conflits

  • Résoudre automatiquement tous les conflits

  • Fusionner automatiquement un conflit

  • Résoudre manuellement un conflit

  • Comprendre les options automatiques

  • Travailler depuis l'invite de commandes

  • Obtenir des conseils

Résoudre des conflits

Utilisez la fenêtre Résoudre les conflits pour résoudre les conflits qui vous bloquent.

Des modifications en conflit bloquent un archivage

Fenêtre de résolution des conflits

Par défaut, la fenêtre affiche uniquement les conflits provoqués par l'opération la plus récente que vous avez tenté d'exécuter. Dans cet état, la fenêtre affiche un message commençant par : Filtre de chemin appliqué. Pour afficher tous les conflits dans votre espace de travail, choisissez Obtenir tous les conflits. Un message qui commence par : n conflit(s) s'affiche.

Si beaucoup de temps s'est écoulé depuis que vous avez modifié les fichiers de votre espace de travail, de nouveaux conflits ont pu se produire. Pour actualiser la fenêtre Résoudre les conflits, choisissez Actualiser.

Chaque conflit contient des informations et parfois des liens qui peuvent vous aider à le résoudre. Pour obtenir plus d'informations, vous pouvez sélectionner le conflit et choisir :

  • Bouton Historique Historique pour consulter l'historique du fichier. Si l'opération qui a provoqué le conflit est une fusion ou une restauration, vous pouvez choisir l'option de menu située à droite de l'Historique, puis sélectionner Historique de la source ou Historique de la cible.

    Consultez Obtenir l'historique d'un élément.

  • Bouton Annoter Cliquez sur Annoter pour consulter les détails de toutes les modifications apportées à la dernière version du fichier, notamment l'auteur et la date de chaque modification. Consultez Afficher les modifications de fichiers à l'aide des annotations.

  • Bouton Comparer un fichier Comparer (ou le menu à droite du bouton et choisissez une commande). La fenêtre Diff s'affiche.

Résoudre automatiquement tous les conflits

Par défaut, le système tente automatiquement de Tout résoudre automatiquement, à moins que vous n'ayez désactivé cette option (consultez Conseils). Dans la fenêtre Résoudre les conflits, vous pouvez également sélectionner manuellement Tout résoudre automatiquement, puis cliquer sur :

  • Sélectionnez Tous les types de conflits si vous souhaitez que le système tente de résoudre automatiquement les conflits en utilisant toutes les méthodes heuristiques disponibles.

  • Sélectionnez Types de conflits spécifiques si vous souhaitez que le système tente de résoudre les conflits, mais que vous souhaitez exclure quelques méthodes heuristiques.

    La boîte de dialogue Choisir les conflits à résoudre apparaît. Activez ou désactivez les options que vous souhaitez activer ou désactiver, et ensuite choisissez Résoudre automatiquement. Pour plus d'informations, consultez Présentation des options automatiques ci-dessous.

Le système tente de résoudre automatiquement les conflits affichés dans la fenêtre Modifications en attente. Tous les conflits que le système n'a pas pu résoudre restent dans la fenêtre. Vous devez résoudre manuellement ces conflits.

Fusionner automatiquement un conflit unique

Choisissez Fusionner automatiquement si vous souhaitez essayer de résoudre les conflits sélectionnés à l'aide des options de fusion automatique décrites dans Présentation des options automatiques ci-dessous.

Conseil

Vous pouvez maintenir enfoncée la touche Ctrl ou la touche Maj puis sélectionner plusieurs conflits.

Notes

Si la fusion automatique est désactivée, ce conflit doit être résolu manuellement.

Résoudre un seul conflit manuellement

Si le système ne peut pas automatiquement résoudre un conflit, ou si vous souhaitez vous assurer que vous comprenez ce qui change, vous devez résoudre le conflit manuellement. Dans chaque conflit, le système affiche les actions que vous pouvez effectuer pour résoudre le conflit. Les actions affichées dépendent du type de conflit et de l'opération qui a provoqué le conflit.

Fusionner les modifications dans l'outil de fusion

Lorsqu'un conflit est provoqué par les modifications de contenu conflictuelles, vous pouvez sélectionner Fusionner les modifications dans l'outil de fusion.

Lorsque vous choisissez cette action, la fenêtre de fusion s'affiche.

Fenêtre de fusion

Les résultats de votre travail pour résoudre le conflit sont affichés dans le volet Résultats.

Dans cette fenêtre, vous pouvez :

  • Sélectionner la disposition de la fenêtre : Affichage vertical, Affichage horizontal, Affichage mixte.

  • Naviguer entre les différences et les conflits.

  • Sélectionner les éléments des versions gauche et droite du fichier pour les inclure dans le résultat.

  • Taper le contenu supplémentaire au sein du fichier dans le volet de résultats.

  • Afficher l'historique du fichier. Consultez Obtenir l'historique d'un élément.

  • Comparer les différentes versions du fichier.

  • Annoter le fichier pour savoir qui a modifié l'élément. Consultez Afficher les modifications de fichiers à l'aide des annotations.

Lorsque le contenu du volet Résultat vous satisfait, sélectionnez Accepter la fusion.

Comprendre les options automatiques

Dans certains cas, vous pouvez restreindre les types de conflits automatiquement résolus par la fonctionnalité Tout résoudre automatiquement.

Lorsque vous sélectionnez Tout résoudre automatiquement, puis Types de conflits spécifiques, la boîte de dialogue Choisir les conflits à résoudre s'affiche.

Boîte de dialogue Choisir les conflits à résoudre

Si vous voulez que la résolution automatique résolve automatiquement les conflits qui se sont produits pour les raisons suivantes :

Comme expliqué dans cet exemple…

Activez alors la case à cocher…

Des modifications de contenus non conflictuels ont été effectuées dans chaque version d'un fichier

Dans la version de fichier située à gauche, un zéro a été ajouté en début de version. Dans la version de fichier située droite, un trois a été ajouté en fin de version :

Modifications de contenu non conflictuelles

Conflits avec des modifications de contenu

Des modifications de contenu ont été apportées, lesquelles sont spécifiques à la version de l'espace de travail (durant une opération d'extraction ou d'archivage) ou à la version cible (durant une opération de fusion ou de restauration)

quatre et cinq ont été ajoutés à la version de l'espace de travail ou à la version cible :

Modifications de contenu uniques dans l'espace de travail ou la cible

Conflits avec des modifications de contenu apportées uniquement dans l'espace de travail local ou dans la branche cible

Des modifications de contenu ont été apportées, lesquelles sont spécifiques à la version du serveur (durant une opération d'extraction ou d'archivage) ou à la version source (durant une opération de fusion ou de restauration)

quatre et cinq ont été ajoutés à la version du serveur ou à la version source :

Modifications de contenu uniques dans le serveur ou la source

Conflits avec des modifications de contenu apportées uniquement dans la version du serveur ou dans la branche source

Un fichier sur le serveur (durant une opération d'extraction) ou dans la branche source (durant une opération de fusion ou de restauration) a été renommé

Vous avez extrait un fichier nommé launch.cs et utilisé celui-ci. Pendant ce temps, une autre personne a archivé un ensemble de modifications qui a affecté le même fichier. Cet ensemble de modifications n'a pas modifié le contenu du fichier, mais il a changé le nom du fichier en start.cs.

Conflits causés par le changement de nom de la version du serveur ou de la branche source

  • Des modifications de contenu communes ont été apportées, lesquelles se sont traduites par un contenu identique dans chaque version

  • Vous avez modifié un fichier, vous l'avez archivé via une build d'archivage contrôlé et vous avez sélectionné l'option Conserver mes modifications en attente localement

Des modifications apportées à chaque version se sont traduites par un contenu de fichier identique. Les modifications peuvent être apportées au contenu dans les fichiers, comme indiqué dans l'exemple suivant :

Modifications de contenu identiques dans chaque version

Cette option résout également des conflits provoqués par toutes les autres opérations (par exemple, renommer, supprimer, restaurer et créer une branche) et ce résultat dans des fichiers identiques.

Conseil

Si vous activez cette case à cocher, lorsque vous continuez, le système résoudra ces modifications en prenant (téléchargement) la version du serveur sur votre espace de travail.

Conflits causés par une modification identique dans le serveur et dans l'espace de travail

Travailler depuis l'invite de commandes

Conseils

  • Conseil Par défaut, le système tente de Tout résoudre automatiquement. Pour modifier l'option, à partir de la barre de menus, choisissez Outils, Options, puis dans la boîte de dialogue Options, naviguez jusqu'à Contrôle de code source, Visual Studio Team Foundation Server. Désactivez la case à cocher Tenter de résoudre automatiquement les conflits générés.

  • Conseil Votre équipe doit-elle collaborer pour résoudre un grand nombre de conflits (par exemple, qui peuvent se produire après une opération de fusion d'un code base volumineux) ? Si oui, un espace de travail public sur un ordinateur de développement partagé peut aider. Consultez Créer et utiliser des espaces de travail.