Freigeben über


Arbeiten mit Shelvesets

Sie können eine Reihe ausstehender Änderungen vorübergehend zurückstellen und die ausstehenden Änderungen wahlweise aus dem Arbeitsbereich entfernen. Das Ergebnis des Zurückstellens ist ein Shelveset. Die Änderungen in einem Shelveset können später in Ihrem Arbeitsbereich oder im Arbeitsbereich eines anderen Benutzers wiederhergestellt werden.

Unterscheidungsmerkmale von Changesets und Shelvesets

Wenn Sie eine oder mehrere ausstehende Änderungen in den Arbeitsbereich einchecken, wird von Team Foundation auf dem Quellcodeverwaltungsserver ein Changeset erstellt. Ein Changeset besteht aus Quelldateirevisionen, Eincheckhinweisen, einem Kommentar und Links mit zugeordneten Arbeitsaufgaben. Ebenso besteht ein Shelveset aus Quelldateirevisionen, Eincheckhinweisen, Kommentaren und einer Liste zugeordneter Arbeitsaufgaben. Ein Shelveset enthält jedoch keine Auflistung von Dateiänderungen mit Versionsinformationen, für die ein Commit ausgeführt wurde. Sowohl Shelvesets als auch Changesets werden auf dem Team Foundation-Server gespeichert und können von jedem Benutzer mit ausreichenden Berechtigungen in einen Arbeitsbereich abgerufen werden.

Changesets und Shelvesets weisen weitere Unterschiede auf:

  • Im Gegensatz zu einem Changeset ist ein Shelveset eine Entität ohne Versionsinformationen. Wenn Sie oder ein anderer Benutzer die Elemente aufnehmen, aus denen ein Shelveset besteht, mehrere Dateien bearbeiten und das Shelveset erneut zurückstellen, wird von Team Foundation keine neue Version der Elemente für einen zukünftigen Vergleich erstellt, und es wird nicht aufgezeichnet, wer die Elemente wann und wie überarbeitet hat. Das ursprüngliche Shelveset wird vollständig ersetzt.

  • Sie können ein Shelveset, doch kein Changeset löschen.

  • Sie können ein Changeset mit einer Arbeitsaufgabe verknüpfen. Wenn ein Benutzer auf der Registerkarte Links des Arbeitsaufgabenformulars auf die Changesetlink klickt, wird das Changeset automatisch in den aktuellen Arbeitsbereich abgerufen. Diese Funktionalität wird für Shelvesets nicht unterstützt.

  • Sie können verhindern oder es zumindest sehr erschweren, dass Benutzer Changesets erstellen, die nicht mit den festgelegten Teamstandards übereinstimmen, indem Sie Eincheckrichtlinien erstellen und erzwingen. Diese Funktionalität wird für Shelvesets nicht unterstützt.

Der Zweck des Zurückstellens

Stellen Sie ausstehende Änderungen zurück, wenn Sie einen Satz ausstehender Änderungen noch nicht einchecken möchten oder nicht einchecken können. Die fünf wichtigsten Zurückstellungsszenarien lauten wie folgt:

  • Unterbrechung   Wenn ausstehende Änderungen vorhanden sind, die noch nicht eingecheckt werden können, Sie jedoch an einer anderen Aufgabe arbeiten müssen, können Sie die ausstehenden Änderungen zurückstellen.

  • Integration   Wenn ausstehende Änderungen vorhanden sind, die noch nicht eingecheckt werden können, Sie jedoch die ausstehenden Änderungen für ein anderes Teammitglied freigeben müssen, können Sie die ausstehenden Änderungen zurückstellen und das Teammitglied bitten, sie aufzunehmen.

  • Überprüfung   Wenn ausstehende Änderungen vorhanden sind, die eingecheckt werden können und für die eine Codeüberprüfung ausgeführt werden muss, können Sie die Änderungen zurückstellen und den Codebearbeiter über das Shelveset informieren.

  • Build   Bevor Sie die Änderungen einchecken, können Sie mit dem Buildsystem sicherstellen, dass die Änderungen in einem Shelveset nicht die regelmäßig geplanten Buildprozesse unterbrechen, z. B. nächtliche Buildvorgänge. Sie können diese Validierung manuell durch Setzen eines privaten Builds in die Warteschlange oder automatisch durch Implementierung von abgegrenzten Eincheckvorgängen ausführen.

  • Sicherung   Wenn Sie gerade Aufgaben bearbeiten, die Sie sichern möchten und die noch nicht eingecheckt werden können, können Sie die Änderungen zurückstellen, damit sie auf dem Team Foundation-Server beibehalten werden.

  • Übergabe   Wenn Sie an Aufgaben arbeiten, die von einem anderen Teammitglied fertig gestellt werden müssen, können Sie Ihre Änderungen zurückstellen, um die Übergabe zu vereinfachen.

Erstellen von Shelvesets

Shelvesets werden im Quellcodeverwaltungs-Explorer, im Fenster Ausstehende Änderungen oder im Menü erstellt. Weitere Informationen über das Erstellen eines Shelvesets finden Sie unter Ablegen und Aufnehmen ausstehender Änderungen.

Aufnehmen von zurückgestellten Änderungen

Während Sie ein Changeset mit dem Get-Befehl in einem Arbeitsbereich wiederherstellen können, müssen Sie zum Wiederherstellen eines Shelvesets den Befehl Unshelve verwenden. Im Fenster Ausstehende Änderungen können Sie mit der Schaltfläche Code aufnehmen eine, einige oder alle ausstehenden Änderungen in einem Shelveset im Arbeitsbereich wiederherstellen. Weitere Informationen über das Fenster Ausstehende Änderungen finden Sie unter Einchecken von ausstehenden Änderungen. Wenn Sie mit Visual Studio alle Änderungen in einem Shelveset in einen Arbeitsbereich aufnehmen, werden die Informationen über ausstehende Änderungen, die den Elementen zugeordnet sind, auch im Fenster Ausstehende Änderungen wiederhergestellt. Weitere Informationen finden Sie unter Ablegen und Aufnehmen ausstehender Änderungen.

Wenn Sie ein Shelveset aufnehmen, wird in Team Foundation jede zurückgestellte Revision im Zielarbeitsbereich als ausstehende Änderung wiederhergestellt, solange die Revision keinen Konflikt mit einer Änderung verursacht, die bereits als ausstehende Änderung im Arbeitsbereich vorhanden ist.

  • Bearbeitungen   Team Foundation kopiert den Inhalt der Quellversion des Arbeitsbereichs in die Zielversion des Arbeitsbereichs und checkt die Datei für die Bearbeitung aus.

  • Löschvorgänge   Zurückgestellte Dateien und Ordner, die als ausstehende Löschvorgänge in den Quellarbeitsbereich eingecheckt wurden, werden im Zielarbeitsbereich gelöscht.

  • Hinzufügungen   Zurückgestellte Dateien und Ordner, die als ausstehende Hinzufügungen zur Quellcodeverwaltung in den Quellarbeitsbereich eingecheckt wurden, werden dem Zielarbeitsbereich hinzugefügt.

  • Umbenennungen und Verschiebungen   Zurückgestellte Dateien und Ordner, die im Quellarbeitsbereich umbenannt oder verschoben wurden, werden im Zielarbeitsbereich umbenannt und in ihre neuen Ordner verschoben.

    Wichtig

    Um ein Element aufzunehmen, dürfen keine ausstehenden Revisionen für das Element im Zielarbeitsbereich vorhanden sein.

Vergleichen einer zurückgestellten Datei mit ihrer Shelvesetbasisversion

In Visual Studio können Sie mit dem Unshelve-Befehl oder mit dem Befehl Difference in der Befehlszeile eine, einige oder alle zurückgestellten Dateirevisionen in einem Shelveset mit der Shelvesetbasisversion vergleichen. Bei dieser handelt es sich um die zugrunde liegende Serverversion des Elements.

Löschen von Shelvesets

Im Gegensatz zu Changesets, die dauerhaft auf dem Quellcodeverwaltungsserver gespeichert werden, können Sie Shelvesets vom Server löschen.

Warnung

Im Gegensatz zu einer gelöschten Datei wird ein Shelveset dauerhaft gelöscht, und Sie können es nicht aus der Quellcodeverwaltung abrufen.

Weitere Informationen über das Löschen eines Shelvesets mit Visual Studio finden Sie unter Löschen eines Shelvesets. Weitere Informationen über das Löschen von Shelvesets mithilfe der Befehlszeilenschnittstelle finden Sie unter Befehl Shelve.

In diesem Abschnitt

Referenz

Befehlszeilenreferenz der Team Foundation-Versionskontrolle

Siehe auch

Aufgaben

Stellen eines Builds in die Warteschlange

Konzepte

Arbeiten mit Changesets

Definieren eines abgegrenzten Eincheckbuilds zur Überprüfung der Änderungen