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:
- zmień nazwę polecenia (Kontrola wersji programu Team Foundation)
- wyewidencjonuj i edytuj polecenia
-
Delete (Team Foundation Version Control) - cofanie usunięcia polecenia
- Scal polecenie
- Branch polecenia
- Dodaj polecenie
W przypadku add
i branch
blokada 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 checkout
lock
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