Shelve-Befehl (Team Foundation-Versionskontrolle)

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

Visual Studio 2019 | Visual Studio 2022

Der shelve-Befehl der Team Foundation-Versionskontrolle (TFVC) speichert eine Reihe ausstehender Änderungen zusammen mit Hinweisen zu ausstehenden Eincheckvorgängen, einem Kommentar und einer Liste zugeordneter Arbeitselemente auf einem Azure DevOps-Server, ohne sie tatsächlich einzuchecken.

Voraussetzungen

Wenn Sie den shelve-Befehl zum Löschen eines Shelvesets verwenden möchten, müssen Sie Besitzer eines Shelvesets sein oder Ihre Berechtigung Geshelvte Änderungen verwalten muss auf Zulassen festgelegt sein. Weitere Informationen finden Sie unter TFVC-Standardberechtigungen.

Syntax

tf shelve  [/replace] [/comment:("comment"|@commentfile)] [shelvesetname] [/validate][/noprompt] [/login:username,[password]]
tf shelve [/move] [/replace] [/comment:("comment"|@commentfile)] 
[/recursive] [shelvesetname] itemspec [/validate] [/noprompt] [/login:username,[password]]
tf shelve /delete shelvesetname[;owner] [/login:username,[password]] [/collection:TeamProjectCollectionUrl]

Parameter

Argumente

Argument Beschreibung
<commentfile> Gibt einen Dateisystempfad zu einer Datei an, aus der Kommentare für das Shelveset gelesen werden sollen.
<comment> Gibt den Kommentar für das Shelveset an.
<itemspec> Identifiziert die Dateien oder Ordner, die Sie shelven möchten. Standardmäßig werden alle ausstehenden Änderungen im aktuellen Arbeitsbereich geshelvt, wenn dieser Parameter nicht angegeben ist. Weitere Informationen darüber, wie Team Foundation die itemspec analysiert, um festzustellen, welche Elemente im Gültigkeitsbereich liegen, finden Sie unter Verwenden von Optionen zum Ändern der Funktionsweise eines Befehls.
<shelvesetname> Gibt einen Namen an, unter dem das Shelveset vom Azure DevOps-Server abgerufen werden kann. Sie können eine vorhandene Kombination aus shelvesetname und owner angeben, aber nur, wenn auch /replace angegeben wird.

Sie müssen einen Wert für diesen Parameter bereitstellen.
<owner> Identifiziert den aktuellen oder beabsichtigten Besitzer des Shelvesets anhand des Benutzernamens. Standardmäßig wird dem aktuellen Benutzer das Eigentum an dem Shelveset zugewiesen, wenn keiner angegeben ist.
<username> Stellt einen Wert für die Option /login bereit. Sie können einen Benutzernamenwert als DOMAIN\username oder username angeben.
<TeamProjectCollectionUrl> Die URL der Projektsammlung, die die Dateien oder Ordner enthält, die Sie shelven möchten, z. B. http://myserver:8080/tfs/DefaultCollection/.

Tastatur

Option Beschreibung
/new Der Auswahlzustand einer anstehenden Änderung (wie im Dialogfeld Einchecken von Visual Studio angezeigt), der Kommentar, die zugeordneten Arbeitselemente, die Eincheckhinweise und der Grund für das Überschreiben der Eincheckrichtlinie werden auf dem Entwicklungscomputer als ausstehende Änderungen gespeichert, bis Sie sie einchecken. Mit der Option /new werden diese Eincheck-Metadaten vor dem Einchecken gelöscht.
/move Entfernt ausstehende Änderungen aus dem Arbeitsbereich, nachdem der Shelve-Vorgang erfolgreich war.
/replace Ersetzt das vorhandene Shelveset mit demselben Namen und Besitzer wie das von Ihnen angegebene Shelveset.
/delete Löscht das angegebene Shelveset. Nur die /server-Option kann mit dieser Option kombiniert werden. Wenn Sie die /noprompt-Option nicht angeben, wird eine Bestätigungsmeldung angezeigt, wenn die Option /delete angegeben wird.
/comment Fügt einen angegebenen Kommentar hinzu, der die geshelvten Änderungen beschreibt.
/recursive Führt das Shelven für alle Elemente im angegebenen Shelveset-Ordner, seinen Unterordnern und allen darin befindlichen Elementen durch, wenn die von Ihnen angegebene itemspec ein Ordner ist.
/noprompt Unterdrückt alle Aufforderungen zu einer Eingabe durch Sie.
/validate Mit dieser Option wird das Kontrollkästchen Richtlinien und Eincheckhinweise vor dem Ablegen des Codes bewerten im Dialogfeld Shelve – Quelldateien aktiviert, wenn es sich öffnet. Wenn das Kontrollkästchen für die Überprüfung aktiviert ist, wertet das Dialogfeld die Eincheckrichtlinien aus und überprüft, ob die erforderlichen Eincheckhinweise ausgefüllt wurden. Diese Option ist nützlich, wenn die Änderungen zur Überprüfung und zum Einchecken an eine andere Person weitergegeben werden sollen. Nicht gültig in Kombination mit /noprompt.
/login Gibt den Benutzernamen und das Kennwort an, um den Benutzer bei Azure DevOps Server zu authentifizieren.
/collection Gibt die Projektsammlung an.

Bemerkungen

Der shelve-Befehl des Hilfsprogramms tf sichert ausstehende Änderungen, eine Liste der zugeordneten Arbeitselemente, Eincheckhinweise und Kommentare in einem Shelveset auf dem Azure DevOps-Server. Ein Shelveset ist so etwas wie ein Changeset, das nicht auf dem Server committet wird. Wie ein Changeset kann auch ein Shelveset von jedem Benutzer, der über ausreichende Berechtigungen verfügt, vom Server in einen lokalen Arbeitsbereich abgerufen werden.

Das Ablegen ist eine Alternative zum Einchecken ausstehender Änderungen, die noch nicht ausreichend getestet wurden. Verwenden Sie das Ablegen, wenn Sie Ihre Arbeit für Folgendes unterbrechen möchten:

  • Geben Sie einen Satz lokaler Arbeitsdateien für andere Entwickler oder Tester frei, ohne Ihre Änderungen auf dem Server der Versionskontrolle einzuchecken.

  • Legen Sie eine Gruppe ausstehender Änderungen vorübergehend beiseite, ohne sie einzuchecken, sodass Sie stattdessen an einem Problem mit höherer Priorität arbeiten können. Nachdem Sie die Arbeit an der Aufgabe mit hoher Priorität abgeschlossen haben, können Sie Ihre geshelvten Änderungen mithilfe des Unshelve-Befehls wiederherstellen.

Wenn Sie die /move-Option angeben, führt der shelve-Befehl für jede gespeicherte Dateirevision einen Rollback auf die Version des Basisarbeitsbereichs aus, die als letzte vom Server in den aktuellen Arbeitsbereich abgerufen wurde. Insbesondere für alle Elemente, die Sie shelven, gilt Folgendes für die Option /move:

  • Verwendet Undo, um die Änderungen rückgängig zu machen, die geshelvt wurden. Die Dateien, die ausstehende Ergänzungen darstellten, werden aus dem Arbeitsbereich gelöscht.

  • Ruft die Versionen des Basisarbeitsbereichs aller Dateien, für die noch ausstehende Ausgaben vorhanden sind, vom Server in den aktuellen Arbeitsbereich ab.

  • Markiert alle Elemente im aktuellen Arbeitsbereich als schreibgeschützt.

Wenn Sie die Option /delete angeben, entfernt TFVC das angegebene Shelveset dauerhaft vom Azure DevOps-Server.

Weitere Informationen zur Verwendung des Befehlszeilenhilfsprogramms tf finden Sie unter Verwenden von Befehlen der Team Foundation-Versionskontrolle.

Beispiele

Im folgenden Beispiel wird ein neues Shelveset auf dem Azure DevOps-Server namens Reflector_BuddyTest erstellt und dem Benutzer Pat das Eigentum zugewiesen. Zudem werden alle Elemente im aktuellen Arbeitsbereich an die neueste Version zurückgegeben, die während des letzten get-Vorgangs heruntergeladen wurde, und ein schreibgeschützter Zustand festgelegt:

c:\projects> tf shelve Reflector_BuddyTest;Pat /move

Im folgenden Beispiel wird das vorhandene Shelveset new-feature vom Server gelöscht, ein neues Shelveset mit diesem Namen erstellt und alle ausstehenden Änderungen im aktuellen Arbeitsbereich werden beibehalten:

c:\projects> tf shelve new-feature /replace

Im folgenden Beispiel wird ein Shelveset namens HelloWorld_TestMe erstellt, das alle ausstehenden Änderungen an allen CS-Dateien im Arbeitsordner C:\projects und dessen Unterordnern enthält:

c:\projects> tf shelve HelloWorld_TestMe c:\projects\*.cs /recursive

Im folgenden Beispiel wird das Shelveset HelloWorld_24 gelöscht:

c:\projects> tf shelve HelloWorld_24 /delete