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 versionspec
parseert.
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:
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 breng je verschillende wijzigingen aan $/BranchA/Util.cs. Deze wijzigingen zijn opgenomen in wijzigingensets 297, 301 en 305.
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.
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 opdrachtrollback
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
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-.