Lock-Befehl (Team Foundation-Versionskontrolle)
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019 | TFS 2018
Visual Studio 2019 | Visual Studio 2022
Der Team Foundation-Versionskontrolle-Befehl (TFVC) lock
sperrt oder entsperrt eine Datei oder einen Ordner. Der Befehl verweigert oder stellt das Recht von Benutzern zurück, ein Element zur Bearbeitung in einem anderen Arbeitsbereich auszuchecken oder ausstehende Änderungen an einem Element aus einem anderen Arbeitsbereich einzuchecken.
Voraussetzungen
Um den lock
Befehl verwenden zu können, muss die Berechtigung Sperren auf Zulassen festgelegt sein. Sie benötigen die Berechtigung Änderungen anderer Benutzer entsperren auf Zulassen , um eine von einem anderen Benutzer gehaltene Sperre zu entfernen, wenn Sie nicht über die Schreibberechtigung 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 analysiert, um zu bestimmen, welche Elemente innerhalb des Bereichs liegen, finden Sie unter Verwenden von Optionen zum Ändern deritemspec
Funktionsweise eines Befehls.
Hinweis
Sie können mehrere itemspec
Argumente angeben.
<workspacename>
Der vom Benutzer bereitgestellte Wert für die /workspace
Option.
<username>
Stellt der Option einen Wert bereit /login
. Sie können einen username
Wert als oder DOMAIN\username
username
angeben.
<TeamProjectCollectionUrl>
Die URL der Projektauflistung, 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 des 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 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 in dem Arbeitsbereich angewendet, in dem Sie sich derzeit 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 Lock-Befehl verwenden, um die TFVC-Serverversion eines Elements vorübergehend einzufrieren, sodass Sie eine ausstehende Änderung einchecken können, ohne Mergekonflikte auflösen zu müssen. Wenn Sie den Zugriff auf ein Element auf dem TFVC-Server dauerhaft verhindern möchten, sollten Sie stattdessen den Befehl Permission verwenden.
Hinweis
Benachrichtigen Sie ihre Teamkollegen, wenn Sie eine Sperre auf ein Element anwenden, erklären Sie, warum Sie dies tun, und schätzen Sie, wann Sie die Sperre entfernen möchten, falls möglich.
Weitere Informationen zur Verwendung des Befehlszeilenprogramms finden Sie unter Verwenden vontf
Team Foundation-Versionssteuerungsbefehlen.
Sperren eines Elements
Sie können ein Element mit dem lock
-Befehl oder durch Angeben einer lock
Option während der Inbetriebnahme mehrerer anderer tf
Befehlszeilenhilfsprogramme sperren, einschließlich:
- Befehl umbenennen (Team Foundation-Versionskontrolle)
- Auschecken und Bearbeiten von Befehlen
- Befehl "Löschen" (Team Foundation-Versionskontrolle)
- Befehl "Rückgängig"
- Merge-Befehl
- Branch-Befehl
- Befehl hinzufügen
Für add
und branch
wird die Sperre für den Namespace platziert, in dem das neue Element erstellt wird. Sperren, die rename
mit sowohl auf den alten als auch auf den neuen Namespace angewendet werden. Weitere Informationen finden Sie unter Sperren und Entsperren von Ordnern oder Dateien.
Sperrentypen
TFVC bietet zwei Arten von Sperren: checkin
und checkout
.
Eine Einchecksperre ist weniger restriktiv als eine Auschecksperre. Wenn Sie eine Einchecksperre anwenden, können die Benutzer weiter lokale Änderungen an dem 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 Check-In-Sperre. 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 abrufen, wenn derzeit änderungen an einem Element ausstehen.
Weitere Informationen dazu, wann sie eine Auschecksperre anwenden und wann sie eine Check-In-Sperre anwenden müssen, finden Sie unter Grundlegendes zu Sperrtypen.
Funktionsweise der Sperrung
Wenn Sie eine Datei beim Sperren ausgecheckt haben, wird ihr Status geändert, um den neuen Sperrtyp zu enthalten. Wenn die Dateien nicht ausgecheckt sind, wird dem Satz der ausstehenden Arbeitsbereichsänderungen eine Sperränderung hinzugefügt. checkout
Im Gegensatz zum Befehl kann lock
eine Datei nicht automatisch bearbeitet werden.
Sperren für Ordner 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, die über eine Einchecksperre verfügt.
Entsperren eines Elements
Sie können ein gesperrtes Element mit der Option entsperren none
. TFVC entsperrt ein Element auch automatisch, wenn Sie ausstehende Änderungen im Arbeitsbereich einchecken.
Mithilfe des Befehls Status können Sie bestimmen, welche Dateien auf dem TFVC-Server gesperrt sind und von wem die Dateien gesperrt wurden.
Beispiele
Das folgende Beispiel verhindert, dass andere Benutzer 314.cs auschecken.
c:\projects>tf lock /lock:checkout 314.cs
Das folgende Beispiel verhindert, dass andere Benutzer Änderungen an 1256.cs einchecken, ermöglicht ihnen jedoch das Auschecken in ihren Arbeitsbereichen.
c:\projects>tf lock /lock:checkin 1256.cs
Das folgende Beispiel 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 TFVC-Serverordner $/src für das Aus- und Einchecken durch andere Benutzer entsperrt und zur Verfügung gestellt.
c:\projects>tf lock /lock:none $/src