Befehl "Sperren" (Versionskontrolle für Team Foundation)
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022-
Das Team Foundation Version Control (TFVC) lock
Befehlssperren oder entsperrt eine Datei oder einen Ordner. Mit dem Befehl wird das Recht der Benutzer verweigert oder wiederhergestellt, ein Element zum Bearbeiten in einem anderen Arbeitsbereich auszuchecken oder ausstehende Änderungen an einem Element aus einem anderen Arbeitsbereich einzuchecken.
Voraussetzungen
Wenn Sie den Befehl lock
verwenden möchten, legen Sie die Berechtigung Sperren auf Zulassenfest. Sie benötigen die Entsperren der Änderungen anderer Benutzer Berechtigungssatz auf Zulassen, dass eine Sperre entfernen kann, die von einem anderen Benutzer gehalten wird, wenn Sie nicht über Berechtigung "Schreiben" für den Arbeitsbereich dieses Benutzers verfügen. Weitere Informationen finden Sie unter Standard-TFVC-Berechtigungen.
Syntax
tf lock itemspec /lock:(none|checkout|checkin)
[/workspace:workspacename] [/recursive] [/login:username,[password]] [/collection:TeamProjectCollectionUrl]
Parameter
Argumente
Argument
Beschreibung
<itemspec>
Gibt die Datei oder den Ordner an, die gesperrt oder entsperrt werden sollen. Weitere Informationen dazu, wie TFVC die itemspec
analysiert, um zu bestimmen, welche Elemente sich innerhalb des Bereichs befinden, finden Sie unter Verwenden von Optionen zum Ändern der Funktionsweise eines Befehls.
Anmerkung
Sie können mehrere itemspec
Argumente angeben.
<workspacename>
Der vom Benutzer bereitgestellte Wert für die option /workspace
.
<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 die Datei oder den Ordner enthält, die Sie sperren oder entsperren möchten, z. B. http://myserver:8080/tfs/DefaultCollection
.
Optionen
Option
Beschreibung
/lock
Gibt einen Sperrtyp an oder entfernt eine Sperre aus einem Element. Weitere Informationen finden Sie unter Grundlegendes zu Sperrtypen.
Sperroptionen:
None
: Entfernt eine Sperre aus einem Element.Checkin
: Ermöglicht das Auschecken und Bearbeiten eines Elements in allen Arbeitsbereichen, verhindert jedoch, dass Benutzer Änderungen am Element außerhalb der angegebenen/workspace
einchecken, bis Sie die Einchecksperre explizit freigeben. Wenn das angegebene Element in einem anderen Arbeitsbereich gesperrt ist, schlägt der Sperrvorgang fehl.Checkout
: Verhindert, dass Benutzer die angegebenen Elemente einchecken oder auschecken, bis Sie die Sperre explizit freigeben. Wenn Benutzer eines der angegebenen Elemente gesperrt haben oder wenn ausstehende Änderungen für eines der Elemente vorhanden sind, schlägt der Sperrvorgang fehl.
/workspace
Gibt den Namen eines anderen Arbeitsbereichs an, in dem die Sperre angewendet werden soll. Standardmäßig wird die Sperre im Arbeitsbereich angewendet, in dem Sie sich gerade befinden.
/login
Gibt den Benutzernamen und das Kennwort an, um den Benutzer bei Azure DevOps zu authentifizieren.
/collection
Gibt die Projektauflistung an.
Bemerkungen
Sie können den Sperrbefehl verwenden, um die TFVC-Serverversion eines Elements vorübergehend zu fixieren, sodass Sie eine ausstehende Änderung einchecken können, ohne dass Zusammenführungskonflikte behoben werden müssen. Wenn Sie den Zugriff auf ein Element auf dem TFVC-Server dauerhaft verhindern möchten, sollten Sie stattdessen den Berechtigungsbefehl verwenden.
Anmerkung
Benachrichtigen Sie sie als Freundlichkeit für Ihre Teamkollegen, wenn Sie eine Sperre auf ein Element anwenden, erklären, warum Sie dies tun, und schätzen Sie, wann Sie die Sperre entfernen möchten, falls möglich.
Weitere Informationen zur Verwendung des Befehlszeilenprogramms tf
finden Sie unter Verwenden von Befehlen für die Versionskontrolle von Team Foundation.
So sperren Sie ein Element
Sie können ein Element mithilfe des Befehls lock
sperren oder während der Kommission mehrerer anderer tf
Befehlszeilenprogrammbefehle eine lock
Option angeben, darunter:
- Befehl "Umbenennen" (Team Foundation Version Control)
- Befehle zum Auschecken und Bearbeiten
- Befehl "Löschen" (Team Foundation Version Control)
- Befehl "Rückgängig"
- Befehl 'Zusammenführen'
- Branch-Befehl
- Befehl hinzufügen
Für add
und branch
wird die Sperre im Namespace platziert, in dem das neue Element erstellt wird. Sperren, die mit rename
platziert werden, gelten sowohl für die alten als auch für die neuen Namespaces. Weitere Informationen finden Sie unter Sperren und Entsperren von Ordnern oder Dateien.
Sperrtypen
TFVC bietet zwei Arten von Sperren: checkin
und checkout
.
Eine Einchecksperre ist weniger restriktiv als eine Auschecksperre. Wenn Sie eine Einchecksperre anwenden, können Benutzer weiterhin lokale Änderungen am Element in anderen Arbeitsbereichen vornehmen. Die Änderungen können erst eingecheckt werden, wenn Sie die Einchecksperre explizit aus dem Arbeitsbereich entfernen.
Eine Auschecksperre ist restriktiver als eine Einchecksperre. Wenn Sie eine Auschecksperre auf eine versionsgesteuerte Datei oder einen ordner anwenden, können Benutzer das Element weder zur Bearbeitung auschecken noch bereits vorhandene ausstehende Änderungen einchecken. Sie können keine Auschecksperre erwerben, wenn derzeit ausstehende Änderungen an einem Element vorhanden sind.
Weitere Informationen zum Anwenden einer Auschecksperre und zum Anwenden einer Einchecksperre finden Sie unter Grundlegendes zu Sperrtypen.
Funktionsweise der Sperrung
Wenn eine Datei beim Sperren ausgecheckt ist, wird der Status so geändert, dass er den neuen Sperrtyp enthält. Wenn die Dateien nicht ausgecheckt sind, wird der Gruppe ausstehender Arbeitsbereichsänderungen eine Sperre Änderung hinzugefügt. Im Gegensatz zum befehl checkout
wird lock
keine Datei automatisch bearbeitbar.
Sperren von Ordnern sind implizit rekursiv. Wenn Sie einen Ordner sperren, müssen Sie die darin enthaltenen Dateien nicht sperren, es sei denn, Sie möchten die restriktivere Auschecksperre auf eine Datei in einem Ordner anwenden, der über eine Einchecksperre verfügt.
Entsperren eines Elements
Sie können ein gesperrtes Element mithilfe der Option none
entsperren. TFVC entsperrt ein Element auch automatisch, wenn Sie ausstehende Änderungen im Arbeitsbereich einchecken.
Sie können bestimmen, welche Dateien auf dem TFVC-Server gesperrt sind und von wem die Dateien mit dem befehl Statusgesperrt wurden.
Beispiele
Im folgenden Beispiel wird verhindert, dass andere Benutzer 314.csauschecken.
c:\projects>tf lock /lock:checkout 314.cs
Im folgenden Beispiel wird verhindert, dass andere Benutzer Änderungen an 1256.cs einchecken, sie aber in ihren Arbeitsbereichen auschecken können.
c:\projects>tf lock /lock:checkin 1256.cs
Im folgenden Beispiel wird verhindert, dass andere Benutzer Änderungen an Elementen im ordner $/src auf dem TFVC-Server ausstehen.
c:\projects>tf lock /lock:checkout $/src
Im folgenden Beispiel werden alle Dateien im $/src TFVC-Serverordner für das Auschecken und Einchecken durch andere Benutzer zur Verfügung gestellt.
c:\projects>tf lock /lock:none $/src