Befehl "Zerstören" (Team Foundation Version Control)
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022-
Verwenden Sie den Befehl tf destroy
, um versionsgesteuerte Dateien aus team Foundation Version Control (TFVC) zu zerstören oder endgültig zu löschen.
Anmerkung
Das Löschen eines TFVC-Repositorys innerhalb von Azure Devops ist nach der Erstellung nicht zulässig. Der Befehl tf destroy
löscht nur versionsgesteuerte Dateien oder Ordner, löscht jedoch nicht das TFVC-Repository. Sie wird weiterhin in der Liste der Optionen angezeigt, in der die Nachricht gelöscht wurde.
Manchmal müssen Sie Versionssteuerungssysteme bereinigen. Wenn beispielsweise einige Dateien mit einem Computervirus infiziert sind, müssen Sie sie dauerhaft aus der Versionsverwaltung entfernen. Zerstören Sie keine Dateien, die noch benötigt werden. Die Zerstörungsaktion kann nicht rückgängig gemacht werden.
Bevor Sie tf destroy
ohne die Option /keephistory
ausführen, löschen Sie zuerst die Dateien, die Sie zerstören möchten. Weitere Informationen finden Sie unter Löschen von Dateien und Ordnern aus der Versionssteuerung.
Nachdem Sie die Dateien gelöscht haben, können Sie das TFVC-Lager synchronisieren. Andernfalls wird das Lager nicht mit den zerstörten Artikeln synchronisiert.
Voraussetzungen
Um den Befehl destroy
zu verwenden, gehören Sie zur Team Foundation-Administratoren Sicherheitsgruppe. Weitere Informationen finden Sie unter Standard-TFVC-Berechtigungen.
Syntax
tf destroy [/keephistory] <itemspec1>[;<versionspec>][<itemspec2>...<itemspecN>]
[/stopat:<versionspec>] [/preview] [/startcleanup] [/noprompt] [/silent] [/login:username,[password]] [/collection:TeamProjectCollectionUrl]]
Parameter
Argumente
Argument
Beschreibung
<itemspec1> [<itemspec2>...<itemspecN>]
Gibt den Serverpfad der zu zerstörenden Datei oder des Ordners an. Verwenden Sie mehrere itemspec
Werte, um mehrere Elemente zu löschen. Beispiel: tf destroy $/TeamProject1 $/teamProject2 $/TeamProject3
.
Lokale Pfade werden nicht unterstützt.
<versionspec>
Stellt eine Version wie C58
für die optionen /keephistory
oder /stopat
bereit. Die zulässigen Werte sind date
, tip
oder eine bestimmte Änderungsmenge. Weitere Informationen dazu, wie TFVC eine Versionsspezifikation analysiert, um zu bestimmen, welche Elemente in ihrem Bereich enthalten sind, finden Sie unter Verwenden von Steuerelementbefehlen für die Team Foundation-Version.
<username>
Stellt einen Wert für die Option /login
bereit. Sie können einen username
Wert entweder als DOMAIN\username
oder als username
angeben.
TeamProjectCollectionUrl
Die URL der Projektsammlung, die Dateien enthält, die Sie zerstören möchten, z. B. http://myserver:8080/tfs/DefaultCollection
.
Optionen
Option
Beschreibung
/keephistory
Wahlfrei. Gibt an, dass der Verlauf einer Datei beibehalten wird, auch wenn der Inhalt zerstört wird. Diese Option kann nicht mit der Option /preview
angegeben werden.
/stopat
Wahlfrei. Kann nur verwendet werden, wenn auch /keephistory
angegeben ist.
Gibt die Dateiversion für die Datei und die nachfolgenden Dateien an, für die der Verlauf beibehalten wird.
Die Standardversion für /stopat
ist tip
(T) für die neueste eingecheckte Version eines Elements.
Sie können bezeichnungs- oder arbeitsbereichs-versionspec
Werte nicht verwenden, um ein Element für die Option /stopat
anzugeben.
/preview
Zeigt die Dateien an, die im Eingabeaufforderungsfenster zerstört würden. Wenn tf destroy
im Vorschaumodus ausgeführt wird, werden die Dateien nicht tatsächlich zerstört.
Anmerkung
Der Text im Eingabeaufforderungsfenster zeigt das Wort Zerstörte mit jeder Datei an, die zerstört würde. Die Datei wird jedoch tatsächlich nicht zerstört, wenn die option /preview
verwendet wird.
/startcleanup
Erzwingt, dass der TFVC-Metadatenbereinigungsprozess unmittelbar nach Abschluss des Löschvorgangs gestartet wird. Wenn der Benutzer /startcleanup
nicht angibt, tritt der zerstörte Bereinigungsprozess für Metadaten auf, wenn die Datenbankwartung alle Dateien bereinigt, auf die nicht mehr von Azure DevOps Server verwiesen wird. Standardmäßig ist die Bereinigung alle fünf Tage geplant. Sieben Tage nach dem Bereinigen der TFVC-Metadaten wird der Inhalt durch einen anderen Bereinigungsprozess gelöscht. Standardmäßig wird dieser Inhaltsbereinigungsprozess einmal täglich ausgeführt.
/noprompt
oder /i
Gibt an, dass die Zerstörung von Dateien nicht interaktiv ist.
/i
ist ein Alias für /noprompt
.
/silent
Gibt an, dass beim Zerstören von Dateien oder Ordnern die Ausgabe nicht in das Eingabeaufforderungsfenster geschrieben wird.
/login
Gibt den Benutzernamen und das Kennwort an, um den Benutzer bei TFVC zu authentifizieren.
/collection
Gibt die Projektauflistung an.
Bemerkungen
Wenn Sie tf destroy
verwenden, um Versionssteuerungsdateien zu zerstören, empfängt die Anwendungsebene von TFVC die Vernichtungsanforderung und überprüft, ob Sie Mitglied der Team Foundation-Administratoren Sicherheitsgruppe sind. Wenn Sie kein Mitglied sind, zeigt das System ein Fehlermeldungsdialogfeld an, in dem Sie informiert werden, dass Sie nicht über ausreichende Berechtigungen zum Ausführen des Vorgangs verfügen.
Nachdem das System Ihre Berechtigungen überprüft hat, wird der Befehl "Zerstören" ausgeführt. Mit diesem Befehl werden alle Dateiverweise, Regale und ausstehenden Änderungen gelöscht. Die tatsächliche Vernichtung von Dateien, bei denen es sich um einen dauerhaften Löschvorgang handelt, geschieht, wenn der Inhalt, auf den nicht mehr von Azure DevOps Server verwiesen wird, bereinigt wird. Sie können auch die Option /startcleanup
angeben, um die Dateien unmittelbar nach der Ausführung tf destroy
zu bereinigen.
Wenn Sie tf destroy
ausführen, ohne /i
und /preview
anzugeben, zeigt das System eine Konsole Ja oder Nein Aufforderung für jeden filespec
Wert an. Andernfalls können Sie Ja für alleangeben.
Wenn Sie
/keephistory
nicht angeben, werden Sie von einem interaktiven Text aufgefordert, der vor ausstehenden Änderungen warnt, falls vorhanden. Der interaktive Text verweist auf/preview
, wenn Sie weitere Informationen zu den Änderungen wünschen.Wenn Sie
/keephistory
angeben, werden Sie auch von Ja-, Nein-oder Ja zu allen Text aufgefordert. Wenn Sie Ja oder Ja für alleauswählen, wird der Vernichtungsprozess gestartet, und die Serverpfade zu den zerstörten Elementen werden im Eingabeaufforderungsfenster angezeigt.
Destroyed: <serverItem1>
Destroyed: <serverItem2>
Destroyed: ...
Wenn Sie den versionspec
Wert als tip
angegeben haben, enthalten die im Eingabeaufforderungsfenster angezeigten Serverpfade Lösch-IDs. Beispielsweise kann Destroyed: $/Test1/MyProject;X123
im Eingabeaufforderungsfenster angezeigt werden.
Wenn Sie die Option /preview
verwenden, werden die Dateien nicht zerstört, aber der Befehlszeilentext zeigt die Dateien an, die zerstört werden würden. Wenn Sie z. B. tf destroy /preview $/Test1/MyProject/MyProject/Program.cs
an der Befehlszeile eingeben, zeigt das Befehlsfenster diesen Text an:
Destroyed: $/Test1/MyProject/MyProject/Program.cs
Die Datei wird jedoch tatsächlich nicht zerstört, da Sie die Option /preview
verwendet haben.
Weitere Informationen zur Verwendung des Befehlszeilenprogramms tf
finden Sie unter Verwenden von Befehlen für die Versionskontrolle von Team Foundation.
Auswirkungen der /keephistory auf andere Versionssteuerungsvorgänge
Wenn Sie die Option /keephistory
angeben, den Verlauf der zerstörten Dateien beizubehalten, werden die Dateien von den folgenden TFVC-Vorgängen als zerstört behandelt:
Inhaltsänderung. Wenn Sie versuchen, den Inhalt einer zerstörten Datei zu ändern, z. B. bearbeiten oder verzweigen, gibt das System eine Fehlermeldung aus, die besagt, dass der Inhalt zerstört wurde.
Verzweigung, Zusammenführung oder nicht geschützte. Wenn Sie versuchen, zerstörte Elemente zu verzweigen, zusammenzuführen oder nicht zu beheben, gibt das System eine Fehlermeldung aus, die angibt, dass der Inhalt der Elemente zerstört wurde.
Zuvor gelöschte Elemente zerstören
Wenn ein Element bereits gelöscht wurde, wird eine Lösch-ID angefügt und führt zu einer Dateinamenänderung.
Auswirkungen von tf destroy auf TFVC Repo-Codesuche
Bei der Codesuche werden tf destroy
Benachrichtigungen nicht behandelt. Die Verwendung von tf destroy
für TFVC-Repositorys löscht dateien daher nicht automatisch aus dem Suchindex. Daher werden diese Dateien in den Codesuchergebnissen angezeigt. Um diese Ghost-Dateien-Szenarien zu vermeiden, löschen Sie Dateien vor dem tf destroy
Vorgang.
Beispiele
Im folgenden Beispiel wird die Datei a.csendgültig gelöscht.
tf destroy $/proj/pi/a.cs
Im folgenden Beispiel wird ein Ordner gelöscht, aFolder-:
tf delete $/MyTeamProject/aFolder
Um das gelöschte Element aFolderzu zerstören, geben Sie an der Befehlszeile folgendes ein:
tf destroy $/MyTeamProject/aFolder;x123
dabei ist x123
die Lösch-ID.