Lås kommando (Versionskontroll för Team Foundation)

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

Visual Studio 2019 | Visual Studio 2022

Kommandot Team Foundation Version Control (TFVC) lock låser eller låser upp en fil eller mapp. Kommandot nekar eller återställer användarnas rätt att checka ut ett objekt för redigering till en annan arbetsyta eller att checka in väntande ändringar i ett objekt från en annan arbetsyta.

Förutsättningar

Om du vill använda lock kommandot måste du ha behörigheten Lås inställd på Tillåt. Du behöver behörigheten Lås upp andra användares ändringar till Tillåt för att ta bort ett lås som innehas av en annan användare om du inte har skrivbehörighet för användarens arbetsyta. Mer information finns i TFVC-standardbehörigheter.

Syntax

tf lock itemspec /lock:(none|checkout|checkin) 
[/workspace:workspacename] [/recursive] [/login:username,[password]] [/collection:TeamProjectCollectionUrl] 

Parametrar

Argument

Argument

Beskrivning

<itemspec>

Identifierar filen eller mappen som ska låsas eller låsas upp. Mer information om hur TFVC parsar itemspec för att avgöra vilka objekt som finns inom omfånget finns i Använda alternativ för att ändra hur ett kommando fungerar.

Kommentar

Du kan ange mer än ett itemspec argument.

<workspacename>

Det användardefinierade värdet för /workspace alternativet.

<username>

Ger alternativet ett värde /login . Du kan ange ett username värde som antingen DOMAIN\username eller username.

<TeamProjectCollectionUrl>

URL:en för projektsamlingen som innehåller den fil eller mapp som du vill låsa eller låsa upp, till exempel http://myserver:8080/tfs/DefaultCollection.

Alternativ

Alternativ

Beskrivning

/lock

Anger en låstyp eller tar bort ett lås från ett objekt. Mer information finns i Förstå låstyper.

Låsalternativ:

  • None: Tar bort ett lås från ett objekt.

  • Checkin: Gör att ett objekt kan checkas ut och redigeras på alla arbetsytor, men hindrar användare från att checka in ändringar i objektet utanför det angivna /workspace tills du uttryckligen släpper incheckningslåset. Om det angivna objektet är låst på någon annan arbetsyta misslyckas låsåtgärden.

  • Checkout: Hindrar användare från att checka in eller checka ut de angivna objekten tills du uttryckligen släpper låset. Om användarna har låst något av de angivna objekten, eller om väntande ändringar finns mot något av objekten, misslyckas låsåtgärden.

/workspace

Anger namnet på en annan arbetsyta där låset ska tillämpas. Som standard tillämpas låset på arbetsytan där du är för närvarande.

/login

Anger användarnamn och lösenord för att autentisera användaren med Azure DevOps.

/collection

Anger projektsamlingen.

Kommentarer

Du kan använda låskommandot för att tillfälligt låsa TFVC-serverversionen av ett objekt så att du kan checka in en väntande ändring utan att behöva lösa några sammanslagningskonflikter. Om du vill förhindra permanent åtkomst till ett objekt på TFVC-servern bör du använda kommandot Behörighet i stället.

Kommentar

Som en artighet till dina lagkamrater, meddela dem när du tillämpar ett lås på ett objekt, förklara varför du gör detta och uppskatta när du planerar att ta bort låset, om du kan.

Mer information om hur du använder tf kommandoradsverktyget finns i Använda Team Foundation-versionskontrollkommandon.

Så här låser du ett objekt

Du kan låsa ett objekt med kommandot lock eller genom att ange ett lock alternativ under driftsättningen av flera andra tf kommandoradsverktygskommandon, inklusive:

För add och branchplaceras låset på namnområdet där det nya objektet ska skapas. Lås som placeras med rename gäller både för de gamla och nya namnrymderna. Mer information finns i Låsa och låsa upp mappar eller filer.

Låstyper

TFVC innehåller två typer av lås: checkin och checkout.

Ett incheckningslås är mindre restriktivt än ett utcheckningslås. När du tillämpar ett incheckningslås kan användarna fortsätta att göra lokala ändringar i objektet på andra arbetsytor. Ändringarna kan inte checkas in förrän du uttryckligen tar bort incheckningslåset från arbetsytan.

Ett utcheckningslås är mer restriktivt än ett incheckningslås. När du tillämpar ett utcheckningslås på en versionskontrollerad fil eller mapp kan användarna varken checka ut objektet för redigering eller checka in befintliga väntande ändringar. Du kan inte hämta ett utcheckningslås om det för närvarande finns väntande ändringar i ett objekt.

Mer information om när du ska tillämpa ett utcheckningslås och när du ska tillämpa ett incheckningslås finns i Förstå låstyper.

Så här fungerar låsning

Om du har en utcheckad fil när du låser den ändras dess status så att den innehåller den nya låstypen. Om filerna inte är utcheckade läggs en låsändring till i uppsättningen med väntande ändringar av arbetsytan. checkout Till skillnad från kommandot lock gör inte automatiskt en fil redigerbar.

Lås på mappar är implicit rekursiva. Om du låser en mapp behöver du inte låsa filerna som den innehåller om du inte vill tillämpa det mer restriktiva utcheckningslåset på en fil i en mapp som har ett incheckningslås.

Låsa upp ett objekt

Du kan låsa upp ett låst objekt med hjälp av alternativet none . TFVC låser också upp ett objekt automatiskt när du checkar in väntande ändringar på arbetsytan.

Du kan avgöra vilka filer som är låsta på TFVC-servern och av vilka filerna låstes med hjälp av kommandot Status.

Exempel

I följande exempel hindras andra användare från att checka ut 314.cs.

c:\projects>tf lock /lock:checkout 314.cs

I följande exempel hindras andra användare från att checka in ändringar i 1256.cs men gör det möjligt för dem att checka ut dem på sina arbetsytor.

c:\projects>tf lock /lock:checkin 1256.cs

I följande exempel förhindras andra användare från att vänta på ändringar av objekt i mappen $/src på TFVC-servern.

c:\projects>tf lock /lock:checkout $/src

Följande exempel låser upp och gör alla filer i TFVC-servermappen $/src tillgängliga för utcheckning och incheckning av andra användare.

c:\projects>tf lock /lock:none $/src