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.
Vereisten
Als u deze opdracht wilt gebruiken, moet de machtigingen Lezen, Uitchecken en Inchecken zijn ingesteld op Toestaan. Zie Standaard TFVC-machtigingen voor 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 /changeset
optie 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 of
/changeset:Tip
/changeset:T
<ItemSpec>
Gebruik dit argument om een of meer items op te geven die u wilt terugdraaien. Als u de /toversion
optie gebruikt, moet u dit argument opgeven.
Notitie
U kunt meer dan één itemspec
argument opgeven.
<VersionSpec>
De door de gebruiker opgegeven waarde voor zowel de /version
optie als de /toversion
optie.
Gebruik dit argument met de /toversion
optie 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
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 terugrolt, een vertakking of samenvoegingswijziging bevatten. 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 Vergrendelingstypen begrijpen voor meer informatie.
Vergrendelingsopties:
None
. Standaard. 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 functioneert voor 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
De tf rollback
opdracht negeert het effect van elke wijzigingenset 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 |
---|---|
toevoegen, vertakking of ongedaan maken | verwijderen |
Bewerken | Bewerken |
Codering | Codering |
naam wijzigen/verplaatsen | naam wijzigen/verplaatsen |
verwijderen | Undelete |
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 rollback
opdracht:
U kunt een wijzigingenset terugdraaien waarin een wijziging is aangebracht. De terugdraaibewerking veroorzaakt een terugdraaibewerking en een verwijderingswijziging .
U kunt wijzigingenset 521 terugdraaien waarin een wijziging in de bewerking is opgetreden. De terugdraaibewerking veroorzaakt een terugdraaibewerking en een wijziging die de wijziging in de wijzigingenset 521 onderhandelt.
In wijzigingenset 132 hebt u samengevoegd van $/BranchA/File1.txt naar $/BranchB/File1.txt. De wijzigingen in die samenvoeging bevatten wijzigingen in wijzigingensets 92 en 104. In wijzigingenset 162 rolt u de wijzigingenset 132 terug, wat resulteert in een terugdraaiwijziging en een wijziging in $/BranchB/File1.txt waarmee de wijzigingen in wijzigingensets 92 en 104 worden genegeerd.
Afsluitcodes
Er wordt een afsluitcode uit de volgende tabel weergegeven nadat u de tf rollback
opdracht 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.txt ontkend:
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 is toegepast op of vóór middernacht 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 de /keepmergehistory
optie echter gebruiken als u toekomstige samenvoegingen tussen dezelfde bron en hetzelfde doel wilt uitsluiten van wijzigingensets die zijn opgenomen in een eerdere samenvoegbewerking. Voorbeeld:
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.
In juli kunt u verschillende wijzigingen aanbrengen in $/BranchA/Util.cs. Deze wijzigingen zijn opgenomen in wijzigingensets 297, 301 en 305.
Op 1 augustus 2009 voegt u $/BranchA/Util.cs samen naar $/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 bewerkingen die u in wijzigingensets 297, 301 en 305 hebt aangebracht in $/BranchA/Util.cs nu ook worden toegepast op $/BranchB/Util.cs.
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
rollback
opdracht gebruiken om deze wijzigingen te negeren. Wanneer u derollback
opdracht gebruikt om een samenvoegwijziging of vertakkingswijziging terug te draaien, 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
Een paar weken later voegt u $/BranchA/ samen in $/BranchB/.
c:\workspace> tf merge $/BranchA $/BranchB
Als u de
/keepmergehistory
optie weglaat wanneer u terugdraait, is de samenvoegwijziging 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
/keepmergehistory
optie bij het terugdraaien hebt opgenomen, is de samenvoegbewerking van toepassing op $/BranchB/Util.cs alle wijzigingensets die zijn toegepast op $/BranchA/Util.cs sinds wijzigingenset 292, met uitzondering van wijzigingenset 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.