Freigeben über


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, tipoder 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 usernameangeben.

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 /startcleanupnicht 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 /previewanzugeben, 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 /keephistorynicht 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 /keephistoryangeben, 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 tipangegeben 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.

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.