Lock-Befehl (Team Foundation-Versionskontrolle)
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
Der TFVC-Befehl (Team Foundation-Versionskontrolle) lock
sperrt 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
Um den lock
-Befehl zu verwenden, müssen Sie die Berechtigung Sperren auf Zulassen festlegen. Sie müssen die Berechtigung Änderungen anderer Benutzer entsperren auf Zulassen festlegen, um eine von einem anderen Benutzer festgelegte Sperre zu entfernen, wenn Sie nicht über die Berechtigung Schreiben für den Arbeitsbereich dieses Benutzers verfügen. Weitere Informationen finden Sie unter TFVC-Standardberechtigungen.
Syntax
tf lock itemspec /lock:(none|checkout|checkin)
[/workspace:workspacename] [/recursive] [/login:username,[password]] [/collection:TeamProjectCollectionUrl]
Parameter
Argumente
Argument
Beschreibung
<itemspec>
Identifiziert die Datei oder den Ordner, die gesperrt oder entsperrt werden sollen. Weitere Informationen darüber, wie TFVC die itemspec
analysiert, um festzustellen, welche Elemente im Gültigkeitsbereich liegen, finden Sie unter Verwenden von Optionen zum Ändern der Funktionsweise eines Befehls.
Hinweis
Sie können mehrere itemspec
-Argumente angeben.
<workspacename>
Der vom Benutzer bereitgestellte Wert für die /workspace
-Option.
<username>
Stellt einen Wert für die Option /login
bereit. Sie können einen username
-Wert als DOMAIN\username
oder 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
.
Tastatur
Option
Beschreibung
/lock
Gibt einen Sperrtyp an oder entfernt eine Sperre von einem Element. Weitere Informationen finden Sie unter Grundlegendes zu Sperrtypen.
Sperroptionen:
None
: Entfernt eine Sperre von einem Element.Checkin
: Ermöglicht das Auschecken und Bearbeiten eines Elements in allen Arbeitsbereichen, verhindert aber, dass Benutzer Änderungen an dem Element außerhalb des angegebenen/workspace
einchecken können, bis Sie die Einchecksperre explizit freigeben. Wenn das angegebene Element in einem anderen Arbeitsbereich gesperrt ist, tritt beim Sperrvorgang ein Fehler auf.Checkout
: Verhindert, dass Benutzer die angegebenen Elemente ein- oder auschecken können, bis Sie die Sperre explizit freigeben. Wenn Benutzer eines der angegebenen Elemente gesperrt haben oder ausstehende Änderungen für eines der Elemente vorliegen, tritt beim Sperrvorgang ein Fehler auf.
/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 gerade befinden.
/login
Gibt den Benutzernamen und das Kennwort an, um den Benutzer bei Azure DevOps zu authentifizieren.
/collection
Gibt die Projektsammlung an.
Bemerkungen
Sie können den Lock-Befehl verwenden, um die TFVC-Serverversion eines Elements vorübergehend zu sperren, 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 Permission-Befehl verwenden.
Hinweis
Teilen Sie Ihren Teamkollegen aus Höflichkeit mit, wenn Sie ein Element mit einer Sperre versehen, erklären Sie, warum Sie entsprechend vorgehen, und geben Sie eine Schätzung ab, für wann Sie das Entfernen der Sperre planen, sofern Sie das können.
Weitere Informationen zur Verwendung des Befehlszeilenhilfsprogramms tf
finden Sie unter Verwenden von Befehlen der Team Foundation-Versionskontrolle.
Sperren eines Elements
Sie können ein Element mithilfe des lock
-Befehls oder durch Angabe einer lock
-Option während der Ausführung verschiedener anderer tf
-Befehlszeilenhilfsprogramme sperren, darunter:
- Rename-Befehl (Team Foundation-Versionskontrolle)
- Checkout- und Edit-Befehl
- Delete-Befehl (Team Foundation-Versionskontrolle)
- Undelete-Befehl
- Merge-Befehl
- Branch-Befehl
- Add-Befehl
Bei add
und branch
wird die Sperre auf den Namespace festgelegt, in dem das neue Element erstellt wird. Mit rename
festgelegte Sperren gelten sowohl für den alten als auch für den neuen Namespace. 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 Einchecksperre. Wenn Sie eine Auschecksperre auf eine Datei mit Versionskontrolle oder einen Ordner anwenden, können Benutzer das Element weder zur Bearbeitung auschecken noch bereits ausstehende Änderungen einchecken. Sie können keine Auschecksperre abrufen, wenn es derzeit ausstehende Änderungen an einem Element gibt.
Weitere Informationen darüber, wann eine Auschecksperre und wann eine Einchecksperre angewendet wird, finden Sie unter Grundlegendes zu Sperrtypen.
Funktionsweise von Sperren
Wenn eine Datei beim Sperren ausgecheckt ist, wird ihr Status so geändert, dass er den neuen Sperrtyp enthält. Wenn die Dateien nicht ausgecheckt sind, wird der Gruppe der ausstehenden Arbeitsbereichsänderungen eine Sperränderung hinzugefügt. Anders als der Befehl checkout
sorgt lock
nicht dafür, dass eine Datei automatisch bearbeitbar ist.
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, der eine Einchecksperre aufweist.
Entsperren eines Elements
Sie können ein gesperrtes Element mithilfe der none
-Option entsperren. TFVC entsperrt ein Element auch automatisch, wenn Sie ausstehende Änderungen im Arbeitsbereich einchecken.
Sie können mithilfe des Status-Befehls feststellen, 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 können.
c:\projects>tf lock /lock:checkout 314.cs
Das folgende Beispiel verhindert, dass andere Benutzer Änderungen an 1256.cs einchecken, ermöglicht es ihnen aber, sie in ihren Arbeitsbereichen auszuchecken.
c:\projects>tf lock /lock:checkin 1256.cs
Das folgende Beispiel verhindert, dass andere Benutzer ausstehende Änderungen an Elementen im Ordner $/src auf dem TFVC-Server vornehmen können.
c:\projects>tf lock /lock:checkout $/src
Das folgende Beispiel entsperrt alle Dateien im Ordner $/src auf dem TFVC-Server und macht sie für das Aus- und Einchecken durch andere Benutzer verfügbar.
c:\projects>tf lock /lock:none $/src