Delen via


Opdrachten voor Team Foundation-versiebeheer gebruiken

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

Visual Studio 2019 | Visual Studio 2022

U kunt versiebeheeropdrachten gebruiken om bijna alle TFVC-taken (Team Foundation Version Control) uit te voeren die u in Visual Studio kunt uitvoeren. U kunt ook versiebeheeropdrachten gebruiken om verschillende taken uit te voeren die niet kunnen worden uitgevoerd in Visual Studio. Als u versiebeheeropdrachten wilt uitvoeren vanaf een opdrachtprompt of in een script, gebruikt u het hulpprogramma tf.exe.

Een opdracht uitvoeren

Als u de Opdrachtprompt van Visual Studio wilt starten, selecteert u in Windows Startde snelkoppeling Ontwikkelaar Opdrachtprompt voor VS2022 of een eerdere versie.

Notitie

Voor Visual Studio 2019 en latere versies bevindt het binaire tf.exe zich niet meer op een vaste locatie in het installatiepad van Visual Studio, zoals in sommige eerdere versies, bijvoorbeeld C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE. Als uw script gebruikmaakt van tf.exe, hoeft u geen pad naar het bestand vast te stellen op basis van het installatiepad van Visual Studio.

In de meeste gevallen voert u de opdracht versiebeheer uit in de context van een map die is toegewezen in de werkruimte. $/SiteApp/Main/ is bijvoorbeeld toegewezen aan c:\\code\\SiteApp\\Main\\. Gebruik de volgende opdracht om de nieuwste versie van alle items in de werkruimte op te halen:

c:\code\SiteApp\Main\SolutionA>tf get

Uw ontwikkelcomputer instellen en werkruimten beheren

Uw werkruimte is een lokale kopie van de codebasis van uw team. Omdat het een lokale kopie op uw ontwikkelcomputer is, kunt u uw code afzonderlijk ontwikkelen en testen totdat u klaar bent om uw werk in te checken. Hier volgen enkele opdrachten voor het beheren van uw werkruimte:

Zie de volgende bronnen voor meer informatie:

Uw app ontwikkelen

Gebruik deze opdrachten om uw app te ontwikkelen onder versiebeheer met uw team:

Zie Uw app ontwikkelen in Team Foundation-versiebeheervoor meer informatie.

Uw werk onderbreken

Om verschillende redenen moet u soms enkele of al uw lopende werkzaamheden opzij zetten. Als u uw werk wilt onderbreken en hervatten en uw plankensets wilt beheren, gebruikt u deze opdrachten:

Voor meer informatie, zie Uw werk onderbreken en uw shelvesetsbeheren.

Uw werk bijdragen

Gebruik de opdracht checkin om uw code in te checken in de codebasis van het team:

  • opdracht Checkin: Controleert in behandeling zijnde wijzigingen in bestanden of mappen op de server.

Voor meer informatie, dien je werk in in de codebase van het team via .

Bestanden beheren en problemen oplossen

Gebruik de resources in de volgende secties om bestanden te beheren.

Bestanden en mappen van versiebeheer weergeven en beheren

Zie Broncodebeheerverkenner gebruiken voor het beheren van bestanden onder versiebeheervoor meer informatie.

Eerdere versies weergeven en beheren

Zie Vorige versies weergeven en beherenvoor meer informatie.

Mappen en bestanden vergelijken

Zie Vorige versies weergeven en beherenvoor meer informatie.

Bestandsconflicten oplossen

  • opdrachtoplossen: hiermee worden conflicten tussen items in uw werkruimte en op de server opgelost.

Zie Team Foundation-versiebeheerconflicten oplossenvoor meer informatie.

Werken met versiebeheervergrendelingen

Zie Werken met versiebeheervergrendelingenvoor meer informatie.

Risico isoleren

Gebruik de volgende opdrachten om risico's te isoleren met behulp van vertakkingen:

Voor meer informatie, zie Vertakkingen gebruiken om risico's te isoleren in Team Foundation-versiebeheer.

Versiebeheer beheren

Gebruik de volgende opdrachten om uw versiebeheersysteem te beheren:

Zie Instellingen voor uitchecken configurerenvoor meer informatie.

Hulp krijgen bij opdrachten voor versiebeheer

Gebruik de volgende opdrachten voor gedetailleerde informatie over versiebeheeropdrachten:

De syntaxis van de opdracht begrijpen

De syntaxis van elke opdracht wordt boven aan elk verwijzingsartikel weergegeven.

Vereiste en optionele argumenten

Argumenten zonder haakjes hebben we nodig. [Vierkante haken] optionele argumenten aangeven die niet nodig zijn om een opdracht te voltooien. Sommige optionele argumenten hebben echter standaardwaarden die worden toegepast op de opdracht, zelfs als u de optie niet opgeeft.

Exclusieve argumenten

Wanneer opties worden gescheiden door een pijp (|), kunt u een van de opties opgeven.

Exacte en vervangende argumenten

Items die niet tussen vierkante haken staan, zijn opties die u letterlijk opneemt. Items tussen punthaken (< en >) zijn argumenten die u moet vervangen door werkelijke tekens om een opdracht uit te voeren.

Opdrachtsneltoetsen en -aliassen

Sommige opdrachten ondersteunen snelkoppelingen. U kunt bijvoorbeeld de opdracht Verwijderen aanroepen met tf delete of tf del.

Voorbeeld

Denk bijvoorbeeld aan de opdracht Uitchecken:

tf checkout [/lock:( none|checkin|checkout)] [/recursive] <item-spec> [/login: <username>, [<password>]]

Dit voorbeeld bevat de volgende argumenten:

  • <item-spec>: U moet dit argument vervangen door een itemspecificatie die de items identificeert die u aan het uitchecken bent.
  • De volgende argumenten zijn optioneel. Als u ze niet opgeeft, zijn geen van de effecten van toepassing op de opdracht:
    • /lock:(none|checkin|checkout): als u de optie /lock niet opgeeft, gebruikt het systeem standaard /lock:none. Anders kunt u een van de andere vergrendelingsopties opgeven.
    • /recursive: als u recursief meerdere items in een map wilt uitchecken, moet u deze optie letterlijk opgeven.
    • /login:<username>, <password>: als u de opdracht als een andere gebruiker wilt uitvoeren, moet u de exacte bewoording van de /login optie opgeven en <username> vervangen door de naam van de gebruiker. Vervang indien nodig <password> door het wachtwoord van de gebruiker.

Geef de items op die worden beïnvloed door een opdracht

U kunt itemspecificaties en versiespecificaties gebruiken om op te geven welke items worden beïnvloed door een opdracht.

Een itemspecificatieargument gebruiken om betrokken items op te geven

U gebruikt een itemspecificatie om de items op te geven die worden beïnvloed door een opdracht. U kunt items opgeven op een clientcomputer of op uw Azure DevOps-server. U kunt jokertekens zoals * en gebruiken?.

Argumenten voor specificaties van cliëntitems

Een specificatieargument voor clientitems geeft een pad naar items op een clientcomputer op, zoals:

  • Een map, bijvoorbeeld c:\code\SiteApp\Main\SolutionA\.
  • Een bestand, bijvoorbeeld c:\code\SiteApp\Main\SolutionA\Project1\program.cs.
  • Meerdere bestanden, bijvoorbeeld c:\code\SiteApp\Main\SolutionA\*.cs.
  • Een UNC-pad (Universal Naming Convention), zoals \\myshare\code\SiteApp\Main.

Specificatieargumenten voor serveritems

Een specificatieargument voor serveritems geeft een pad naar items op uw Azure DevOps-server op, zoals:

  • Een map, zoals $/SiteApp/Main/SolutionA.
  • Een bestand, bijvoorbeeld $/SiteApp/Main/SolutionA/Project1/program.cs.
  • Meerdere bestanden, bijvoorbeeld $/SiteApp/Main/SolutionA/*.cs.

Doorgaans gebruikt u argumenten voor serveritemspecificatie wanneer u een opdracht moet uitvoeren voor items die zich niet op de clientcomputer bevinden. Stel dat u aan een ontwikkelcomputer werkt. Als u enkele revisiegeschiedenisgegevens wilt ophalen over bepaalde items in een projectverzameling waarin u niet werkt, kunt u de volgende opdracht gebruiken:

c:\>tf history /collection:https://fabrikam-3:8080/tfs/DefaultCollection
$/SiteApp/Main/SolutionA/Project1/* /recursive  
/noprompt 

Argumenten voor meerdere itemspecificaties

Voor sommige opdrachten kunt u meerdere argumenten voor itemspecificaties opgeven, bijvoorbeeld:

c:\code\SiteApp\Main\SolutionA\Project1\>tf checkout program1.cs program2.c

Met deze opdracht worden program.cs en program2.cuitgecheckt.

Gebruik een argument voor versiespecificatie om betrokken versies van items op te geven

U gebruikt een versiespecificatie om de versie van items op te geven die worden beïnvloed door een opdracht. Als u een versiespecificatie wilt opgeven, kunt u het volgende doen:

  • Gebruik de optie /version, bijvoorbeeld /version:C44.

  • Voeg de versiespecificatie toe aan een itemspecificatie met een puntkomma, bijvoorbeeld program1.cs;C44.

Wanneer u de opdracht Geschiedenis of de opdracht Verschilgebruikt, kunt u een reeks versies opgeven door de versies te scheiden met een tilde, bijvoorbeeld:

c:\code\SiteApp\Main\SolutionA>tf history /noprompt * /recursive /v:D4/12/2022~D4/24/2022

Gebruik de volgende syntaxis om een versiespecificatie op te geven:

Typ Syntaxis Beschrijving Voorbeelden Resultaat
Wijzigingsset [C]<version-number> Geeft items op basis van een wijzigingensetnummer. Als een item dat binnen het bereik valt niet is gewijzigd in de opgegeven wijzigingenset, neemt het systeem de nieuwste versie van het item die zich voordeed vóór deze. U kunt C weglaten als u slechts een getal opgeeft. tf get readme.txt /v:C8

tf get readme.txt /v:8

tf get readme.txt;8
Als readme.txt is gewijzigd in wijzigingenset 8, haalt de voorbeeldcode die versie van het bestand op. Anders krijgt deze de meest recente versie van readme.txt vóór versie 8.
Etiket L<label> Hiermee geeft u items op waarop een label wordt toegepast. tf get readme.txt;LJulyHotFix

tf get /version:LLastKnownGood
In het eerste voorbeeld wordt de versie van readme.txt opgehaald die is gelabeld JulyHotFix. De tweede haalt de versies op van alle gelabelde items (en verwijdert de items die niet gelabeld zijn) in de werkruimte, zoals ze bestonden toen de wijzigingenset LastKnownGood werd gemaakt. U kunt de code in het tweede voorbeeld gebruiken als onderdeel van een geautomatiseerd buildproces.
Datum en tijd D<yyyy-mm-ddTxx:xx>

of

D<mm/dd/yyyy>

of

Elke .NET Framework-ondersteunde indeling.

of

Een van de datumnotaties die op de lokale computer worden ondersteund.
Hiermee geeft u een wijzigingenset op die is gemaakt op een opgegeven datum op een bepaald tijdstip. tf get /version:D2022-03-22

tf get /version:D2022-03-22T09:00
In het eerste voorbeeld wordt de werkruimte bijgewerkt zodat deze overeenkomt met de codebasis, omdat deze bestond op 22 maart 2022 om middernacht. De tweede werkt de werkruimte bij zodat deze overeenkomt met de codebasis, zoals deze bestond op 22 maart 2022 om 9:00 uur. Zie voor meer informatie over datum- en tijdforten die door .NET Framework worden ondersteund, DateTime en Standaard datum- en tijdformaatreeksen.
Huidige werkruimte W Hiermee specificeert u de versie in uw werkruimte. - -
Opgegeven werkruimte W<workspace-name>; <workspace-owner> Hiermee specifieert u de versie in een opgegeven werkruimte. tf get /version:WResolveRIConflicts;PatW In het voorbeeld wordt de versie in de ResolveRIConflicts werkruimte opgegeven waarvan PatW eigenaar is.
Hint T Specificeert de meest recente versie. - -

Opties gebruiken om te wijzigen hoe een opdracht functioneert

U kunt enkele algemene opties gebruiken om te wijzigen hoe een opdracht functioneert.

Gebruik de optie /noprompt om aanvragen voor gegevensinvoer te onderdrukken en uitvoergegevens om te leiden

Gebruik de optie /noprompt om aanvragen voor gegevensinvoer te onderdrukken en uitvoergegevens om te leiden naar het opdrachtpromptvenster. Deze optie kan handig zijn wanneer u versiebeheeropdrachten moet gebruiken in een script waarbij:

  • De opdracht wordt uitgevoerd zonder tussenkomst van een gebruiker.
  • De gegevens zijn beschikbaar voor het script om bewerkingen uit te voeren, zoals parseren of vastleggen.

Wanneer u deze optie gebruikt, is het systeem:

  • Onderdrukt alle aanvragen voor invoer:

    • Vragen worden niet gesteld in het opdrachtpromptvenster. Wanneer u bijvoorbeeld de opdracht Ongedaan maken gebruikt met deze optie, wordt u niet gevraagd om te bevestigen of u de wijzigingen ongedaan wilt maken.
    • Vensters en dialoogvensters worden niet weergegeven. U kunt deze optie bijvoorbeeld gebruiken met de opdracht Checkin. Het systeem geeft het dialoogvenster Inchecken niet weer, zodat u items en gekoppelde werkitems kunt bevestigen. In plaats daarvan controleert het systeem de items zonder bevestiging.
  • Hiermee worden uitvoergegevens omgeleid naar de opdrachtprompt. U kunt deze optie bijvoorbeeld gebruiken met de opdracht Geschiedenis. De gegevens worden weergegeven in het opdrachtpromptvenster in plaats van het venster Geschiedenis.

Gebruik de optie /login om referenties op te geven

Gebruik de optie /login om het gebruikersaccount van de Azure DevOps-server op te geven om een opdracht uit te voeren. Deze optie kan handig zijn wanneer u op de computer van een ander teamlid werkt.

Stel dat u werkt op de ontwikkelcomputer van uw teamlid. U gebruikt de opdracht Vergrendelen om een bestand te ontgrendelen dat u eerder hebt vergrendeld:

c:\code\SiteApp\Main> tf lock /lock:none program.cs /login:<username>,<password>

Als u wilt voorkomen dat uw wachtwoord wordt weergegeven in de opdrachtprompt, kunt u de opdracht zonder het wachtwoord invoeren:

c:\code\SiteApp\Main> tf lock /lock:none program.cs /login:<username>

Nadat u deze opdracht hebt ingevoerd, wordt u door het systeem gevraagd uw wachtwoord in te voeren in een dialoogvenster waarin uw invoer wordt gemaskeerd.

Gebruik de optie /lock om een vergrendeling toe te passen of te verwijderen

Belangrijk

Als best practice kunt u de optie /lock naar eigen goeddunken gebruiken. Informeer uw teamleden waarom u een item vergrendelt en wanneer u de vergrendeling wilt verwijderen.

Gebruik de optie /lock om een vergrendeling toe te passen of te verwijderen op hetzelfde moment dat u een andere opdracht uitvoert, zoals Toevoegen of Bewerken.

/lock:(none|checkin|checkout)

De opdracht /lock maakt gebruik van de volgende opties:

  • None: er wordt geen vergrendeling op een item geplaatst. Als er al een vergrendeling is ingesteld, wordt deze verwijderd.

  • Checkin of Checkout: er wordt een vergrendeling toegepast. Zie Inzicht in vergrendelingstypenvoor meer informatie.

Notitie

In enkele gevallen kan de vergrendelingsbewerking mislukken:

  • Als andere gebruikers een van de opgegeven items hebben vergrendeld, mislukt de vergrendelingsbewerking.
  • Als er al een wijziging in behandeling is voor het opgegeven item, negeert het systeem deze optie. In dit geval moet u de opdracht Vergrendelen gebruiken om een vergrendeling voor een item te wijzigen.

Optiesneltoetsen gebruiken

U kunt de volgende opties verkorten.

Optie

Optie-alias

/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

Afsluitcodes begrijpen

Versiebeheeropdrachten retourneren de volgende afsluitcodes:

afsluitcode

Definitie

0

Succes.

1

Gedeeltelijk succes. Ten minste iets, of misschien wel alles, is mislukt.

2

Onbekende opdracht.

100

Er is niets gelukt.

Stel dat u de volgende opdracht uitvoert:

c:\code\SiteApp\Main\SolutionA\Project1\>tf checkout program1.cs program2.c

Als een van de bestanden die u probeert uit te checken niet bestaat op de server, retourneert de opdracht 1 om een gedeeltelijk succes aan te geven.