Udostępnij za pośrednictwem


Omówienie typów blokad

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

Możesz użyć polecenia Kontrola wersji serwera Team Foundation (TFVC), lock aby tymczasowo zapobiec wprowadzeniu zmian do określonego pliku lub folderu na serwerze kontroli źródła. Ta funkcja może być przydatna, jeśli chcesz zmienić element w obszarze roboczym, a następnie zaewidencjonować go bez konieczności rozwiązywania konfliktów scalania. Tylko jeden użytkownik jednocześnie może zablokować określony plik lub folder. Jeśli chcesz zablokować dostęp do elementu w trwały sposób, należy zamiast tego użyć polecenia Uprawnienie.

Typy blokad

Usługa Azure DevOps udostępnia dwa typy blokad: blokady zaewidencjonowania i blokady wyewidencjonowania.

Blokada zaewidencjonowa

Blokada zaewidencjonu jest mniej restrykcyjna niż blokada wyewidencjonowa. Po zastosowaniu blokady zaewidencjonowania użytkownicy mogą nadal wprowadzać zmiany lokalne w zablokowanym elemencie w innych obszarach roboczych. Nie można jednak zaewidencjonować tych zmian, dopóki nie usuniesz blokady, wykonując jedną z następujących akcji:

  • Jawne usunięcie blokady zaewidencjonowej z elementu
  • Niejawnie usuń blokadę, sprawdzając zmiany w pliku

Blokada wyewidencjonowa

W usłudze Azure DevOps blokady wyewidencjonowania zazwyczaj nie są skuteczne z powodu lokalnych obszarów roboczych. Aby uzyskać więcej informacji, zobacz Wybieranie między użyciem obszaru roboczego lokalnego lub serwera. W szczególności blokady wyewidencjonowane to:

  • Nie można wymusić, ponieważ inni użytkownicy mogą używać lokalnych obszarów roboczych.
  • Niedostępne, jeśli używasz lokalnego obszaru roboczego.
  • Wyłączone, jeśli członek grupy zabezpieczeń Administracja istrators kolekcji projektu włączył asynchroniczne wyewidencjonowanie dla obszarów roboczych serwera zespołu.

Blokada wyewidencjonowania uniemożliwia użytkownikom korzystającym z obszarów roboczych serwera wyewidencjonowanie i wprowadzanie zmian w zablokowanym elemencie w swoich obszarach roboczych. Nie można zastosować blokady wyewidencjonowania do elementu, dla którego istnieją oczekujące zmiany , w dowolnym obszarze roboczym innym niż własny.

Jak działa blokowanie

Jeśli plik zostanie wyewidencjonowany podczas jego blokowania, jego rekord wyewidencjonowania zostanie zmodyfikowany tak, aby zawierał nowy typ blokady. Jeśli plik nie jest wyewidencjonowany, zostanie dodana zmiana blokady do zestawu oczekujących zmian obszaru roboczego. checkout W przeciwieństwie do polecenia lock polecenie nie powoduje automatycznego edytowania pliku.

Funkcja TFVC odblokowuje element automatycznie po zaewidencjonowyniu oczekujących zmian w obszarze roboczym, w którym jest zablokowany. Blokady są również zwalniane, jeśli oczekujące zmiany dla pliku zostaną cofnięte za pomocą undo polecenia .

Blokady folderów są niejawnie rekursywne. Jeśli zablokujesz folder, nie musisz blokować plików, które zawiera. Jednym z wyjątków jest to, że folder ma blokadę zaewidencjonowania, która jest mniej restrykcyjna niż blokada wyewidencjonowania. Jeśli chcesz użyć blokady wyewidencjonowania w pliku w tym folderze, musisz zastosować tę blokadę wyewidencjonowania.

Tylko jeden użytkownik jednocześnie może zablokować określony plik lub folder. Możesz użyć polecenia Stan, aby zobaczyć, które pliki są zablokowane na serwerze Usługi Azure DevOps i kto je zablokował.

Blokadę można umieścić jako własną operację lub w ramach kilku innych operacji. Te operacje obejmują rename, , checkout, mergedeleteundelete, branchi add. W przypadku blokowania elementu w ramach dodawania do kontroli źródła lub rozgałęziania kontrola wersji serwera powoduje umieszczenie blokady na ścieżce serwera, w której jest tworzony nowy element. To umieszczenie uniemożliwia innemu użytkownikowi dodawanie lub rozgałęzianie pliku do tej samej lokalizacji. Po zablokowaniu rename elementu za pomocą polecenia zarówno stare, jak i nowe ścieżki serwera są zablokowane.

Odblokowywanie elementu

Element można odblokować jawnie przy użyciu unlock polecenia lub niejawnie podczas ewidencjonowywania. Podczas ewidencjonowania oczekujących zmian w zablokowanym elemencie usługa Azure DevOps usuwa wszelkie blokady.

Uwaga

Domyślnie uprawnienie UnlockOther jest przyznawane tylko administratorom. Jeśli masz uprawnienie UnlockOther , możesz usunąć blokadę z elementu w obszarze roboczym innego użytkownika za pomocą polecenia Zablokuj.