Delen via


Opdracht Terugdraaien (Team Foundation Version Control)

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

Visual Studio 2019 | Visual Studio 2022

U kunt de opdracht Team Foundation Version Control (TFVC) tf rollback gebruiken om de effecten van een of meer wijzigingensets op een of meer door versie beheerde items terug te draaien. Met deze opdracht worden de wijzigingensets niet verwijderd uit de versiegeschiedenis van een item. In plaats daarvan maakt deze opdracht een set wachtende wijzigingen in uw werkruimte die de effecten van de wijzigingensets die u opgeeft, verniett.

Voorwaarden

Als u deze opdracht wilt gebruiken, moet u de lees-, uitcheckenen machtigingen inchecken ingesteld op Toestaan. Zie standaard TFVC-machtigingenvoor meer informatie.

Syntaxis

tf rollback /toversion:VersionSpec ItemSpec [/recursive] [/lock:none|checkin|checkout] [/version:versionspec] [/keepmergehistory] [/login:username,[password]] [/noprompt]
tf rollback /changeset:ChangesetFrom~ChangesetTo [ItemSpec] [/recursive] [/lock:none|checkin|checkout] [/version:VersionSpec]
[/keepmergehistory] [/noprompt] [/login:username,[password]]

Parameters

Argumenten

argument

beschrijving

<ChangesetFrom>~<ChangesetTo>

Gebruik dit argument met de optie /changeset om de wijzigingensets op te geven die u wilt terugdraaien. U kunt de wijzigingensets op de volgende manieren opgeven:

  • Eén wijzigingenset, bijvoorbeeld /changeset:C11
  • Een reeks wijzigingensets, bijvoorbeeld /changeset:C7~C20
  • Een datum, bijvoorbeeld /changeset:D09/30/09
  • Een datumbereik, bijvoorbeeld /changeset:D09/23/09~D10/07/09
  • De meest recente wijzigingenset, /changeset:Tip of /changeset:T

<ItemSpec>

Gebruik dit argument om een of meer items op te geven die u wilt terugdraaien. Als u de optie /toversion gebruikt, moet u dit argument opgeven.

Zie Team Foundation-opdrachten voor versiebeheer gebruikenvoor meer informatie over hoe TFVC itemspecificaties parseert.

Notitie

U kunt meer dan één itemspec argument opgeven.

<VersionSpec>

De door de gebruiker opgegeven waarde voor zowel de optie /version als de optie /toversion.

Gebruik dit argument met de optie /toversion om een bestand terug te zetten naar de status ervan in een specifieke wijzigingenset. U kunt de versie op de volgende manieren opgeven:

  • Eén wijzigingenset, bijvoorbeeld /toversion:C32
  • Een datum om middernacht, bijvoorbeeld /toversion:D06/19/09
  • Een datum en een tijd, bijvoorbeeld /toversion:D06/19/09T14:32
  • Een label, bijvoorbeeld /toversion:LTestLabel
  • De versie in de werkruimte die is toegewezen aan de huidige map, /toversion:W
  • De versie in een specifieke werkruimte, bijvoorbeeld /toversion:WResolveRIConflicts;AKerry

Zie Opdrachten voor versiebeheer van Team Foundation gebruikenvoor meer informatie over hoe TFVC de versionspecparseert.

Opties

optie

beschrijving

/changeset

Gebruik deze optie om een of meer specifieke wijzigingensets op te geven die u wilt negate.

/keepmergehistory

Deze optie heeft alleen effect als een of meer van de wijzigingensets die u terugdraaien, een vertakking of samenvoegen wijzigen. Geef deze optie op als u toekomstige samenvoegingen tussen dezelfde bron en hetzelfde doel wilt uitsluiten van de wijzigingen die u terugdraaien.

/lock

Geef deze optie op om te voorkomen dat andere gebruikers items inchecken of uitchecken totdat u klaar bent met het terugdraaien van alle bijbehorende wijzigingen. Zie Inzicht in vergrendelingstypenvoor meer informatie.

Vergrendelingsopties:

  • None. Verstek. Er wordt geen vergrendeling toegepast. Als het bestand dat u terugrolt is vergrendeld, wordt met deze optie de vergrendeling verwijderd.
  • Checkin. Hiermee wordt een item vergrendeld totdat u de vergrendeling loslaat door een incheckbewerking uit te voeren. Andere gebruikers kunnen het opgegeven item uitchecken, maar de gebruikers kunnen geen revisies inchecken totdat de vergrendeling is verwijderd. U kunt een bestand dat al is vergrendeld, niet vergrendelen.
  • Checkout. Hiermee voorkomt u dat gebruikers een vergrendeld item inchecken of uitchecken totdat u de vergrendeling verwijdert door een incheckbewerking uit te voeren.

/login

Zie Opties gebruiken om te wijzigen hoe een opdracht werktvoor meer informatie over deze optie.

/noprompt

Gebruik deze optie om dialoogvensters te onderdrukken die anders tijdens deze bewerking worden weergegeven.

/recursive

Geef deze optie op als u wilt dat de bewerking items in submappen bevat.

/toversion

Geef deze optie op om een bestand terug te keren naar de status ervan in een specifieke wijzigingenset. Wanneer u deze optie gebruikt, vergeeft u het effect van alle wijzigingensets die zijn toegepast sinds de versie die u opgeeft.

/version

Hiermee geeft u de huidige versie van de bestanden en mappen die u wilt terugdraaien.

Opmerkingen

Met de opdracht tf rollback wordt het effect van elke wijzigingenset genegeerd die u opgeeft voor elk item dat u opgeeft. In de volgende tabel ziet u hoe de bewerking elk type wijziging onderhandelt.

Type wijziging teruggedraaid Type wijziging voor terugdraaien
, vertakkingtoevoegen of ongedaan maken verwijderen
bewerken bewerken
coderings- coderings-
naam wijzigen/verplaatsen naam wijzigen/verplaatsen
verwijderen ongedaan maken
samenvoegen Als u dit wijzigt, worden alle wijzigingen genegeerd die zijn samengevoegd in de huidige vertakking.

De volgende lijst bevat enkele voorbeelden van wijzigingen die het resultaat zijn van de opdracht rollback:

  • U kunt een wijzigingenset terugdraaien waarin een wijziging heeft aangebracht. De terugdraaibewerking veroorzaakt een terugdraaibewerking wijziging en een wijziging verwijderen.

  • U kunt wijzigingenset 521 terugdraaien waarin een wijziging heeft plaatsgevonden. De terugdraaibewerking veroorzaakt een terugdraaibewerking wijziging en een bewerken wijziging die de bewerking wijziging in wijzigingenset 521 ontkent.

  • In wijzigingenset 132 hebt u samengevoegd van $/BranchA/File1.txt naar $/BranchB/File1.txt. De wijzigingen in die samenvoeging bevatten wijzigingen wijzigingensets 92 en 104. In wijzigingenset 162 rolt u wijzigingenset 132 terug, wat resulteert in een terugdraaibewerking wijziging en een wijziging bewerken in $/BranchB/File1.txt waarmee de bewerken wijzigingen in wijzigingensets 92 en 104 worden genegeerd.

Afsluitcodes

Er wordt een afsluitcode uit de volgende tabel weergegeven nadat u de opdracht tf rollback hebt uitgevoerd.

Afsluitcode Beschrijving
0 De bewerking heeft alle items teruggedraaid.
1 De bewerking heeft ten minste één item teruggedraaid, maar kan een of meer items niet terugdraaien.
100 De bewerking kan geen items terugdraaien.

Voorbeelden

In het volgende voorbeeld wordt het effect van wijzigingenset 23 op alle items die in die wijzigingenset zijn gewijzigd, genegeerd:

c:\workspace> tf rollback /changeset:C23

In het volgende voorbeeld wordt het effect van wijzigingenset 23 op het bestand a.txtontkend:

c:\workspace> tf rollback /changeset:C23 a.txt

In het volgende voorbeeld wordt de inhoud van a.txt gewijzigd zodat deze overeenkomt met de versie die is ingecheckt met wijzigingenset 23:

c:\workspace> tf rollback /toversion:C23 a.txt

In het volgende voorbeeld wordt de inhoud van OurTeamProject aangepast aan de laatste wijzigingenset die op of vóór middernacht is toegepast op 31 augustus 2009:

c:\workspace> tf rollback /toversion:D08/31/2009 /recursive $/OurTeamProject/

Voorbeeldoptie /keepmergehistory

Wanneer u een wijzigingenset terugdraait die een vertakking of samenvoegingswijziging bevat, wilt u meestal dat toekomstige samenvoegingen tussen dezelfde bron en hetzelfde doel deze wijzigingen bevatten. U kunt echter de optie /keepmergehistory gebruiken als u toekomstige samenvoegingen tussen dezelfde bron en hetzelfde doel wilt gebruiken om wijzigingensets uit te sluiten die zijn opgenomen in een eerdere samenvoegbewerking. Bijvoorbeeld:

  1. Op 30 juni 2009 voert u een volledige samenvoeging uit van alle items van $/BranchA/ naar $/BranchB/.

    c:\workspace> tf merge $/BranchA $/BranchB
    

    U controleert deze samenvoeging als onderdeel van de wijzigingenset 292.

  2. In juli breng je verschillende wijzigingen aan $/BranchA/Util.cs. Deze wijzigingen zijn opgenomen in wijzigingensets 297, 301 en 305.

  3. Op 1 augustus 2009 voegt u $/BranchA/Util.cs samen tot $/BranchB/Util.cs.

    c:\workspace> tf merge $/BranchA/Util.cs $/BranchB/Util.cs
    

    U controleert de wijziging als onderdeel van de wijzigingenset 314. Het resultaat van deze bewerking is dat de wijzigingen die u in wijzigingensets 297, 301 en 305 hebt aangebracht in $/BranchA/Util.cs nu ook worden toegepast op $/BranchB/Util.cs.

  4. Een week later realiseert u zich dat de wijzigingen die u in juli hebt aangebracht in $/BranchA/Util.cs niet geschikt zijn voor $/BranchB/Util.cs. U kunt de opdracht rollback gebruiken om deze wijzigingen te negeren. Wanneer u de opdracht rollback gebruikt om een samenvoeging terug te draaien wijziging of een vertakking te wijzigen, moet u een beslissing nemen.

    • Als u wilt dat de wijzigingen die u in juli hebt aangebracht in $/BranchA/Util.cs opnieuw worden toegepast op $/BranchB/Util.cs in toekomstige samenvoegingen, voert u de volgende opdracht in:

      c:\workspace> tf rollback /changeset:314
      
    • Als u wilt dat de wijzigingen die u in juli hebt aangebracht in $/BranchA/Util.cs nooit opnieuw worden toegepast op $/BranchB/Util.cs in toekomstige samenvoegingen, voert u de volgende opdracht in:

      c:\workspace> tf rollback /changeset:314 /keepmergehistory
      
  5. Een paar weken later voegt u $/BranchA/ samen in $/BranchB/.

    c:\workspace> tf merge $/BranchA $/BranchB
    
    • Als u de optie /keepmergehistory weglaat bij het terugdraaien, is de samenvoegen wijziging van toepassing op $/BranchB/Util.cs alle wijzigingensets die zijn toegepast op $/BranchA/Util.cs sinds wijzigingenset 292, inclusief wijzigingensets 297, 301 en 305. Met andere woorden, met de samenvoeging wordt de wijziging van het terugdraaien ongedaan maken.

    • Als u de optie /keepmergehistory hebt opgenomen bij het terugdraaien, is de samenvoegbewerking van toepassing op $/BranchB/Util.cs alle wijzigingensets die zijn toegepast op $/BranchA/Util.cs sinds wijzigingenset 292, met uitzondering van wijzigingensets 297, 301 en 305. Met andere woorden, de samenvoeging maakt de wijziging van het terugdraaien niet ongedaan. Daarom komt de inhoud op BranchA- mogelijk niet overeen met de inhoud op BranchB-.