Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Visual Studio 2019 | Visual Studio 2022
Vous pouvez utiliser des commandes de contrôle de version pour effectuer presque toutes les tâches TFVC (Team Foundation Version Control) que vous pouvez effectuer dans Visual Studio. Vous pouvez également utiliser des commandes de contrôle de version pour effectuer plusieurs tâches qui ne peuvent pas être effectuées dans Visual Studio. Pour exécuter des commandes de contrôle de version à partir d’une invite de commandes ou dans un script, vous utilisez l’outil tf.exe .
Exécuter une commande
Pour lancer l’invite de commandes Visual Studio, à partir de Windows Démarrer, sélectionnez l’invite de commandes développeur pour VS2022 ou un raccourci de version antérieure.
Note
Pour Visual Studio 2019 et versions ultérieures, le tf.exe fichier binaire n’est plus à un emplacement fixe dans le chemin d’installation de Visual Studio, comme dans certaines versions précédentes, par exemple C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE. Si votre script utilise tf.exe, ne codez pas en dur un chemin d’accès au fichier en fonction du chemin d’installation de Visual Studio.
Dans la plupart des cas, vous exécutez la commande de contrôle de version dans le contexte d’un répertoire mappé dans l’espace de travail. Par exemple, $/SiteApp/Main/ est mappé à c:\\code\\SiteApp\\Main\\. Pour obtenir la dernière version de tous les éléments de l’espace de travail, utilisez la commande suivante :
c:\code\SiteApp\Main\SolutionA>tf get
Configurer votre ordinateur de développement et gérer les espaces de travail
Votre espace de travail est une copie locale de la base de code de votre équipe. Étant donné qu’il s’agit d’une copie locale sur votre ordinateur de développement, vous pouvez développer et tester votre code isolément jusqu’à ce que vous soyez prêt à vérifier votre travail. Voici quelques commandes pour gérer votre espace de travail :
Pour plus d’informations, consultez les ressources suivantes :
- Configurer Team Foundation Version Control sur votre ordinateur de développement
- Créer et utiliser des espaces de travail
Développer votre application
Utilisez ces commandes pour développer votre application sous contrôle de version avec votre équipe :
- Ajouter une commande : ajoute des fichiers et des dossiers au contrôle de version.
- Commande Extraction (ou modification) : extrait un fichier et modifie son état de modification en attente pour modifier.
- Commande Delete (Team Foundation Version Control) : supprime les fichiers et dossiers du serveur Azure DevOps et les supprime du disque.
- Commande Get : Obtient (télécharge) la dernière version ou une version spécifiée d’un ou plusieurs fichiers ou dossiers d’Azure DevOps Server vers l’espace de travail.
- Commande Renommer (Team Foundation Version Control) : modifie le nom ou le chemin d’un fichier ou d’un dossier.
- Commande État : affiche des informations sur les modifications en attente apportées aux fichiers et aux dossiers dans les espaces de travail ou dans un ensemble de rayons.
- Commande Annuler : ignore les modifications en attente spécifiées dans les fichiers ou dossiers.
- Commande Annuler la suppression : restaure les éléments qui ont été précédemment supprimés.
Pour plus d’informations, consultez Développer votre application dans le contrôle de version Team Foundation.
Suspendre votre travail
Pour diverses raisons, vous devez parfois mettre de côté un ou plusieurs de vos travaux en cours. Pour suspendre et reprendre votre travail et gérer vos ensembles de rayons, utilisez ces commandes :
Pour plus d’informations, consultez Suspendre votre travail et gérer vos étagères.
Contribuer à votre travail
Utilisez la checkin commande pour archiver votre code dans la base de code de l’équipe :
- Commande Checkin : vérifie les modifications en attente des fichiers ou des dossiers sur le serveur.
Pour plus d’informations, consultez Vérifier votre travail dans la base de code de l’équipe.
Gérer les fichiers et résoudre les problèmes
Utilisez les ressources des sections suivantes pour gérer les fichiers.
Afficher et gérer les fichiers et dossiers de contrôle de version
- Commande Propriétés (ou Informations) : affiche des informations sur les éléments dans le contrôle de version.
- Commande Dir : affiche le contenu du serveur de contrôle de version.
- Commande Destroy (Team Foundation Version Control) : supprime définitivement les fichiers contrôlés par la version.
- Commande LocalVersions : affiche les versions des éléments de l’espace de travail.
Pour plus d’informations, consultez Utiliser l’Explorateur de contrôle de code source pour gérer les fichiers sous contrôle de version.
Afficher et gérer les versions antérieures
- Commande Changeet : Modifie ou affiche les attributs de l’ensemble de modifications.
- Commande Historique : affiche l’historique de révision des fichiers ou dossiers.
- Commande Label (Team Foundation Version Control) : attache ou supprime des étiquettes de fichiers ou de dossiers.
- Commande Étiquettes : affiche des informations sur les étiquettes utilisées dans le serveur.
- Commande Rollback (Team Foundation Version Control) : restaure les effets des ensembles de modifications.
- Commande Unlabel : supprime un élément d’une étiquette existante dans le serveur.
- Commande Afficher : récupère une version spécifiée d’un fichier et l’affiche.
Pour plus d’informations, consultez Afficher et gérer les versions antérieures.
Comparer des dossiers et des fichiers
- Commande différence : compare les différences entre les fichiers et les ensembles de rayons.
- Commande Folderdiff : compare les différences entre les fichiers dans deux dossiers.
Pour plus d’informations, consultez Afficher et gérer les versions antérieures.
Résoudre les conflits de fichiers
- Commande Résoudre : résout les conflits entre les éléments de votre espace de travail et sur le serveur.
Pour plus d’informations, consultez Résoudre les conflits de contrôle de version Team Foundation.
Utiliser des verrous du contrôle de version
- Commande Verrouiller : verrouille ou déverrouille les fichiers et dossiers.
Pour plus d’informations, consultez Utiliser les verrous de contrôle de version.
Isoler les risques
Utilisez les commandes suivantes pour isoler les risques à l’aide de branches :
Pour plus d’informations, consultez Utiliser des branches pour isoler les risques dans Team Foundation Version Control.
Administrer le contrôle de version
Utilisez les commandes suivantes pour gérer votre système de contrôle de version :
Pour plus d’informations, consultez Configurer les paramètres d’extraction.
Obtenir de l’aide sur les commandes de contrôle de version
Utilisez les commandes suivantes pour obtenir des informations détaillées sur les commandes de contrôle de version :
Comprendre la syntaxe des commandes
La syntaxe de chaque commande apparaît en haut de chaque article de référence.
Arguments obligatoires et facultatifs
Les arguments non entre crochets sont requis. [Crochets] indiquent des arguments facultatifs qui ne sont pas requis pour terminer une commande. Toutefois, certains arguments facultatifs ont des valeurs par défaut qui sont appliquées à la commande même si vous ne spécifiez pas l’option.
Arguments exclusifs
Lorsque les options sont séparées par un canal (|), vous pouvez spécifier l’une des options.
Arguments verbatim et remplaçables
Les éléments qui ne sont pas placés entre crochets sont des options que vous incluez détaillées. Les éléments placés entre crochets (et <) sont des arguments> que vous devez remplacer par des caractères réels pour exécuter une commande.
Raccourcis de commande et alias
Certaines commandes prennent en charge les raccourcis. Par exemple, vous pouvez appeler la commande Delete avec l’une ou l’autre tf delete des commandes tf del.
Example
Prenons l’exemple de la commande Checkout :
tf checkout [/lock:( none|checkin|checkout)] [/recursive] <item-spec> [/login: <username>, [<password>]]
Cet exemple inclut les arguments suivants :
-
<item-spec>: vous devez remplacer cet argument par une spécification d’élément qui identifie les éléments que vous extrayez. - Les arguments suivants sont facultatifs. Si vous ne les fournissez pas, aucun de leurs effets ne s’applique à la commande :
-
/lock:(none|checkin|checkout): si vous ne spécifiez pas l’option/lock, le système utilise/lock:nonepar défaut. Sinon, vous pouvez spécifier l’une des autres options de verrouillage. -
/recursive: Si vous souhaitez extraire de manière récursive plusieurs éléments dans un dossier, vous devez spécifier cette option détaillée. -
/login:<username>, <password>: Si vous souhaitez exécuter la commande en tant qu’autre utilisateur, vous devez spécifier l’option/loginverbatim et remplacer<username>par le nom de l’utilisateur. Si nécessaire, remplacez<password>le mot de passe de l’utilisateur.
-
Spécifier les éléments affectés par une commande
Vous pouvez utiliser des spécifications d’élément et des spécifications de version pour spécifier les éléments affectés par une commande.
Utiliser un argument de spécification d’élément pour spécifier les éléments affectés
Vous utilisez une spécification d’élément pour spécifier les éléments affectés par une commande. Vous pouvez spécifier des éléments sur une machine cliente ou sur votre serveur Azure DevOps. Vous pouvez utiliser des caractères génériques tels que * et ?.
Arguments de spécification d’élément client
Un argument de spécification d’élément client spécifie un chemin d’accès aux éléments sur une machine cliente, par exemple :
- Un dossier, par exemple , c :\code\SiteApp\Main\SolutionA\.
- Un fichier, par exemple , c :\code\SiteApp\Main\SolutionA\Project1\program.cs.
- Plusieurs fichiers, par exemple , c :\code\SiteApp\Main\SolutionA\*.cs.
- Chemin d’accès UNC (Universal Naming Convention), tel que \\myshare\code\SiteApp\Main.
Arguments de spécification d’élément de serveur
Un argument de spécification d’élément de serveur spécifie un chemin d’accès aux éléments sur votre serveur Azure DevOps, par exemple :
- Un dossier, par exemple , $/SiteApp/Main/SolutionA.
- Fichier, par exemple $/SiteApp/Main/SolutionA/Project1/program.cs.
- Plusieurs fichiers, par exemple $/SiteApp/Main/SolutionA/*.cs.
Vous utilisez généralement des arguments de spécification d’élément de serveur lorsque vous devez exécuter une commande sur des éléments qui ne se trouve pas sur l’ordinateur client. Par exemple, supposons que vous travaillez sur un ordinateur de développement. Si vous avez besoin d’obtenir des données d’historique de révision sur certains éléments qui se trouvent dans une collection de projets dans laquelle vous ne travaillez pas, vous pouvez utiliser la commande suivante :
c:\>tf history /collection:https://fabrikam-3:8080/tfs/DefaultCollection
$/SiteApp/Main/SolutionA/Project1/* /recursive
/noprompt
Arguments de spécification d’élément multiples
Pour certaines commandes, vous pouvez spécifier plusieurs arguments de spécification d’élément, par exemple :
c:\code\SiteApp\Main\SolutionA\Project1\>tf checkout program1.cs program2.c
Cette commande extrait program.cs et program2.c.
Utiliser un argument de spécification de version pour spécifier les versions affectées d’éléments
Vous utilisez une spécification de version pour spécifier la version des éléments affectés par une commande. Pour fournir une spécification de version, vous pouvez :
Utilisez l’option
/version, par exemple/version:C44.Ajoutez la spécification de version à une spécification d’élément avec un point-virgule, par exemple
program1.cs;C44.
Lorsque vous utilisez la commande Historique ou la commande Différence, vous pouvez spécifier une plage de versions en séparant les versions par un tilde, par exemple :
c:\code\SiteApp\Main\SolutionA>tf history /noprompt * /recursive /v:D4/12/2022~D4/24/2022
Utilisez la syntaxe suivante pour spécifier une spécification de version :
| Type | Syntaxe | Descriptif | Examples | Résultat |
|---|---|---|---|---|
| Ensemble de modifications | [C]<version-number> |
Spécifie les éléments en fonction d’un numéro d’ensemble de modifications. Si un élément dans l’étendue n’a pas été modifié dans le jeu de modifications spécifié, le système accepte la dernière version de l’élément qui s’est produit avant le jeu de modifications spécifié. Vous pouvez omettre C si vous spécifiez uniquement un nombre. |
tf get readme.txt /v:C8tf get readme.txt /v:8tf get readme.txt;8 |
Si readme.txt a été modifié dans le jeu de modifications 8, l’exemple de code obtient cette version du fichier. Sinon, il obtient la version la plus récente de readme.txt avant la version 8. |
| Étiquette | L<label> |
Spécifie les éléments auxquels une étiquette est appliquée. | tf get readme.txt;LJulyHotFixtf get /version:LLastKnownGood |
Le premier exemple obtient la version de readme.txt qui a été étiquetée JulyHotFix. La deuxième récupère la version de tous les éléments étiquetés (et supprime ces éléments non étiquetés) dans l’espace de travail lorsqu’ils existaient lors de la création du jeu de modifications intitulé LastKnownGood . Vous pouvez utiliser le code dans le deuxième exemple dans le cadre d’un processus de génération automatisé. |
| Date et heure | D<yyyy-mm-ddTxx:xx>ou D<mm/dd/yyyy>ou Tout format pris en charge par .NET Framework. ou Tous les formats de date pris en charge sur l’ordinateur local. |
Spécifie un ensemble de modifications créé à une date spécifiée à une heure spécifique. | tf get /version:D2022-03-22tf get /version:D2022-03-22T09:00 |
Le premier exemple met à jour l’espace de travail pour qu’il corresponde au codebase tel qu’il existait le 22 mars 2022 à minuit. La deuxième met à jour l’espace de travail pour qu’il corresponde au codebase tel qu’il existait le 22 mars 2022 à 9h00. Pour plus d’informations sur les formats de date et d’heure pris en charge par .NET Framework, consultez Les chaînes de format date et heure Standard et DateTime. |
| Espace de travail actuel | W |
Spécifie la version dans votre espace de travail. | - | - |
| Espace de travail spécifié | W<workspace-name>; <workspace-owner> |
Spécifie la version dans un espace de travail spécifié. | tf get /version:WResolveRIConflicts;PatW |
L’exemple spécifie la version dans l’espace ResolveRIConflicts de travail propriétaire PatW . |
| Conseil / Astuce | T |
Spécifie la version la plus récente. | - | - |
Utiliser des options pour modifier la façon dont une commande fonctionne
Vous pouvez utiliser certaines options courantes pour modifier la façon dont une commande fonctionne.
Utilisez l’option /noprompt pour supprimer les demandes d’entrée de données et rediriger les données de sortie
Utilisez l’option /noprompt pour supprimer les demandes d’entrée de données et rediriger les données de sortie vers la fenêtre d’invite de commandes. Cette option peut être utile lorsque vous devez utiliser des commandes de contrôle de version dans un script où :
- La commande se poursuit sans intervention d’un utilisateur.
- Les données sont disponibles pour que le script effectue des opérations, telles que l’analyse ou la capture.
Lorsque vous utilisez cette option, le système :
Supprime toutes les demandes d’entrée :
- Les questions ne sont pas posées dans la fenêtre d’invite de commandes. Par exemple, lorsque vous utilisez la commande Annuler avec cette option, le système ne vous invite pas à confirmer si vous souhaitez annuler les modifications.
- Les boîtes de dialogue et Windows ne s’affichent pas. Par exemple, vous pouvez utiliser cette option avec la commande Checkin. Le système n’affiche pas la boîte de dialogue Archiver pour vous permettre de confirmer les éléments et les éléments de travail associés. Au lieu de cela, le système vérifie les éléments sans confirmation.
Redirige les données de sortie vers l’invite de commandes. Par exemple, vous pouvez utiliser cette option avec la commande Historique. Les données sont affichées dans la fenêtre d’invite de commandes au lieu de la fenêtre Historique.
Utiliser l’option pour spécifier les informations d’identification /login
Utilisez l’option /login pour spécifier le compte d’utilisateur du serveur Azure DevOps dans lequel exécuter une commande. Cette option peut être utile lorsque vous travaillez sur la machine d’un autre membre de l’équipe.
Par exemple, supposons que vous travaillez sur la machine de développement de votre membre de l’équipe. Vous utilisez la commande Lock pour déverrouiller un fichier que vous avez verrouillé précédemment :
c:\code\SiteApp\Main> tf lock /lock:none program.cs /login:<username>,<password>
Si vous souhaitez éviter d’afficher votre mot de passe dans l’invite de commandes, vous pouvez entrer la commande sans le mot de passe :
c:\code\SiteApp\Main> tf lock /lock:none program.cs /login:<username>
Après avoir entré cette commande, le système vous invite à entrer votre mot de passe dans une boîte de dialogue qui masque votre entrée.
Utiliser l’option /lock pour appliquer ou supprimer un verrou
Important
En guise de meilleure pratique, utilisez l’option /lock avec discrétion. Informez vos collègues pourquoi vous verrouillez un élément et lorsque vous envisagez de supprimer le verrou.
Utilisez l’option /lock pour appliquer ou supprimer un verrou en même temps que vous exécutez une autre commande telle que Ajouter ou Modifier.
/lock:(none|checkin|checkout)
La /lock commande utilise les options suivantes :
None: aucun verrou n’est placé sur un élément. Si un verrou est déjà en place, il est supprimé.CheckinouCheckout: un verrou est appliqué. Pour plus d’informations, consultez Comprendre les types de verrous.
Note
Dans quelques cas, l’opération de verrouillage peut échouer :
- Si d’autres utilisateurs ont verrouillé l’un des éléments spécifiés, l’opération de verrouillage échoue.
- S’il existe déjà une modification en attente de l’élément spécifié, le système ignore ce commutateur. Dans ce cas, vous devez utiliser la commande Verrouiller pour modifier un verrou sur un élément.
Utiliser les raccourcis d’option
Vous pouvez abrégér les options suivantes.
Option
Alias d’option
/comment
-C
/computer
-M
/delete
-D
/force
-P
/format
-F
/help
-?, -H
/lock
-K
/login
-Y
/newname
-N
/noprompt
-I
/owner
-O
/recursive
-R
/server
-S
/slotmode
-X
/template
-T
/user
-U
/version
-V
/workspace
-W
Comprendre les codes de sortie
Les commandes de contrôle de version retournent les codes de sortie suivants :
Code de sortie
Définition
0
Succès.
1
Réussite partielle. Au moins quelque chose, ou peut-être tout, n’a pas réussi à réussir.
2
Commande non reconnue.
100
Rien n’a réussi.
Par exemple, supposons que vous exécutez la commande suivante :
c:\code\SiteApp\Main\SolutionA\Project1\>tf checkout program1.cs program2.c
Si l’un des fichiers que vous essayez d’extraire n’existe pas sur le serveur, la commande retourne 1 pour indiquer une réussite partielle.