Udostępnij za pośrednictwem


Polecenie Lock (Kontrola wersji programu Team Foundation)

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Visual Studio 2019 | Program Visual Studio 2022

Kontrola wersji serwera Team Foundation (TFVC) lock blokuje lub odblokowuje plik lub folder. Polecenie odrzuca lub przywraca prawo użytkowników do wyewidencjonowania elementu do edycji w innym obszarze roboczym lub zaewidencjonowania oczekujących zmian w elemencie z innego obszaru roboczego.

Warunki wstępne

Aby użyć polecenia lock, ustaw uprawnienie Zablokuj na Zezwalaj na. Potrzebujesz Odblokuj zmiany innych użytkowników, uprawnienia ustawione na Zezwalaj na usunięcie blokady przechowywanej przez innego użytkownika, jeśli nie masz uprawnienia do zapisu dla obszaru roboczego tego użytkownika. Aby uzyskać więcej informacji, zobacz Domyślne uprawnienia serwera TFVC.

Składnia

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

Parametry

Argumenty

argumentów

opis

<itemspec>

Identyfikuje plik lub folder do zablokowania lub odblokowania. Aby uzyskać więcej informacji na temat analizowania itemspec w celu określenia, które elementy znajdują się w zakresie, zobacz Use options to modify how a command functions.

Nuta

Można określić więcej niż jeden argument itemspec.

<workspacename>

Wartość podana przez użytkownika dla opcji /workspace.

<username>

Udostępnia wartość opcji /login. Wartość username można określić jako DOMAIN\username lub username.

<TeamProjectCollectionUrl>

Adres URL kolekcji projektów, która zawiera plik lub folder, który chcesz zablokować lub odblokować, na przykład http://myserver:8080/tfs/DefaultCollection.

Opcje

opcji

opis

/lock

Określa typ blokady lub usuwa blokadę z elementu. Aby uzyskać więcej informacji, zobacz Omówienie typów blokad.

Opcje blokady:

  • None: usuwa blokadę z elementu.

  • Checkin: umożliwia wyewidencjonowanie i edytowanie elementu we wszystkich obszarach roboczych, ale uniemożliwia użytkownikom ewidencjonowanie zmian w elemencie poza określonym /workspace do momentu jawnego zwolnienia blokady zaewidencjonowania. Jeśli określony element jest zablokowany w dowolnym innym obszarze roboczym, operacja blokowania zakończy się niepowodzeniem.

  • Checkout: uniemożliwia użytkownikom zaewidencjonowanie lub wyewidencjonowanie określonych elementów do momentu jawnego zwolnienia blokady. Jeśli użytkownicy zablokowali dowolny z określonych elementów lub jeśli oczekujące zmiany istnieją względem dowolnego z elementów, operacja blokowania zakończy się niepowodzeniem.

/workspace

Określa nazwę innego obszaru roboczego, w którym ma być stosowana blokada. Domyślnie blokada jest stosowana w obszarze roboczym, w którym jesteś obecnie.

/login

Określa nazwę użytkownika i hasło do uwierzytelniania użytkownika w usłudze Azure DevOps.

/collection

Określa kolekcję projektów.

Uwagi

Możesz użyć polecenia blokady, aby tymczasowo zablokować wersję serwera TFVC elementu, aby można było zaewidencjonować oczekującą zmianę bez konieczności rozwiązywania konfliktów scalania. Jeśli chcesz trwale uniemożliwić dostęp do elementu na serwerze TFVC, zamiast tego należy użyć polecenia uprawnienia .

Nuta

Dzięki uprzejmości kolegów z drużyny powiadom ich, gdy zastosujesz blokadę do elementu, wyjaśnij, dlaczego to robisz, i szacuj, kiedy planujesz usunąć blokadę, jeśli możesz.

Aby uzyskać więcej informacji na temat korzystania z narzędzia wiersza polecenia tf, zobacz Używanie poleceń kontroli wersji programu Team Foundation.

Jak zablokować element

Element można zablokować przy użyciu polecenia lock lub określając opcję lock podczas wykonywania kilku innych poleceń wiersza polecenia tf, w tym:

W przypadku add i branchblokada jest umieszczana w przestrzeni nazw, w której zostanie utworzony nowy element. Blokady umieszczone za pomocą rename mają zastosowanie zarówno do starych, jak i nowych przestrzeni nazw. Aby uzyskać więcej informacji, zobacz Blokowanie i odblokowywanie folderów lub plików.

Typy blokad

Funkcja TFVC udostępnia dwa typy blokad: checkin i checkout.

Blokada zaewidencjonu jest mniej restrykcyjna niż blokada wyewidencjonowa. Po zastosowaniu blokady zaewidencjonowania użytkownicy mogą nadal wprowadzać zmiany lokalne w elemencie w innych obszarach roboczych. Zmiany nie mogą być zaewidencjonowane, dopóki nie usuniesz jawnie blokady zaewidencjonowej z obszaru roboczego.

Blokada wyewidencjonowa jest bardziej restrykcyjna niż blokada zaewidencjonowa. Po zastosowaniu blokady wyewidencjonowania do pliku lub folderu kontrolowanego przez wersję użytkownicy nie mogą wyewidencjonować elementu do edycji ani zaewidencjonować wstępnie istniejących oczekujących zmian. Nie można uzyskać blokady wyewidencjonowania, jeśli obecnie istnieją jakiekolwiek oczekujące zmiany w elemencie.

Aby uzyskać więcej informacji o tym, kiedy zastosować blokadę wyewidencjonowania i kiedy zastosować blokadę zaewidencjonowania, zobacz Understand lock types.

Jak działa blokowanie

Jeśli plik został wyewidencjonowany podczas jego blokowania, jego stan zostanie zmodyfikowany tak, aby zawierał nowy typ blokady. Jeśli pliki nie są wyewidencjonowane, zostanie dodana zmiana blokady do zestawu oczekujących zmian obszaru roboczego. W przeciwieństwie do polecenia checkoutlock nie powoduje automatycznego edytowania pliku.

Blokady folderów są niejawnie rekursywne. Jeśli zablokujesz folder, nie musisz blokować plików, które zawiera, chyba że chcesz zastosować bardziej restrykcyjną blokadę wyewidencjonowania do pliku w folderze, który ma blokadę zaewidencjonowania.

Odblokowywanie elementu

Zablokowany element można odblokować przy użyciu opcji none. Funkcja TFVC odblokowuje również element automatycznie po zaewidencjonowyniu oczekujących zmian w obszarze roboczym.

Można określić, które pliki są zablokowane na serwerze TFVC i przez kogo pliki zostały zablokowane za pomocą polecenia stanu .

Przykłady

Poniższy przykład uniemożliwia innym użytkownikom wyewidencjonowanie 314.cs.

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

Poniższy przykład uniemożliwia innym użytkownikom ewidencjonowanie zmian w 1256.cs, ale umożliwia im wyewidencjonowanie ich w swoich obszarach roboczych.

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

Poniższy przykład uniemożliwia innym użytkownikom oczekiwanie na zmiany wszystkich elementów w folderze $/src na serwerze TFVC.

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

Poniższy przykład odblokowuje i udostępnia wszystkie pliki w $/src folder serwera TFVC dostępne dla wyewidencjonowania i zaewidencjonowania przez innych użytkowników.

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