Zablokuj polecenie (Kontrola wersji serwera Team Foundation)
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
Polecenie 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.
Wymagania wstępne
Aby użyć lock
polecenia, musisz mieć uprawnienie Blokada ustawione na Zezwalaj. Jeśli nie masz uprawnień do zapisu dla obszaru roboczego tego użytkownika, musisz ustawić uprawnienie Odblokowywanie zmian innego użytkownika na wartość Zezwalaj na usunięcie blokady przechowywanej przez innego użytkownika. Aby uzyskać więcej informacji, zobacz Domyślne uprawnienia kontroli wersji serwera Team Foundation.
Składnia
tf lock itemspec /lock:(none|checkout|checkin)
[/workspace:workspacename] [/recursive] [/login:username,[password]] [/collection:TeamProjectCollectionUrl]
Parametry
Argumenty
Argument
Opis
<itemspec>
Identyfikuje plik lub folder do zablokowania lub odblokowania. Aby uzyskać więcej informacji o sposobie analizowania kontrolera TFVC w itemspec
celu określenia, które elementy znajdują się w zakresie, zobacz Use options to modify how a command functions (Używanie opcji do modyfikowania sposobu działania polecenia).
Uwaga
Można określić więcej niż jeden itemspec
argument.
<workspacename>
Wartość podana /workspace
przez użytkownika dla opcji.
<username>
Udostępnia wartość /login
opcji. Wartość można określić username
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
Opcja
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
elementem 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, należy zamiast tego użyć polecenia Uprawnienie.
Uwaga
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 tf
narzędzia wiersza polecenia, zobacz Use Team Foundation version control commands (Używanie poleceń kontroli wersji programu Team Foundation).
Jak zablokować element
Element można zablokować przy użyciu lock
polecenia lub określając lock
opcję podczas wykonywania kilku innych tf
poleceń narzędzia wiersza polecenia, w tym:
- Zmień nazwę polecenia (Kontrola wersji serwera Team Foundation)
- Wyewidencjonuj i edytuj polecenia
- Usuń polecenie (Kontrola wersji serwera Team Foundation)
- Cofnij usunięcie polecenia
- Scal polecenie
- Polecenie gałęzi
- Dodaj polecenie
W przypadku add
elementów i branch
blokada jest umieszczana w przestrzeni nazw, w której zostanie utworzony nowy element. Blokady umieszczone z zastosowaniem rename
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 Omówienie typów blokad.
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. checkout
W przeciwieństwie do polecenia polecenie 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 none
opcji . 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 Stan.
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 folderze serwera $/src TFVC na potrzeby wyewidencjonowania i zaewidencjonowania przez innych użytkowników.
c:\projects>tf lock /lock:none $/src