Zasady i ustawienia gałęzi

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

Zasady gałęzi pomagają zespołom chronić swoje ważne gałęzie programowania. Zasady wymuszają jakość kodu zespołu i standardy zarządzania zmianami. W tym artykule opisano sposób ustawiania zasad gałęzi i zarządzania nimi. Aby zapoznać się z omówieniem wszystkich zasad i ustawień repozytorium oraz gałęzi, zobacz Ustawienia i zasady repozytorium Git.

Nie można usunąć gałęzi, która ma skonfigurowane wymagane zasady i wymaga żądań ściągnięcia dla wszystkich zmian.

Wymagania wstępne

  • Aby ustawić zasady gałęzi, musisz być członkiem grupy zabezpieczeń Project Administracja istrators lub mieć uprawnienia do edycji zasad na poziomie repozytorium. Aby uzyskać więcej informacji, zobacz Ustawianie uprawnień repozytorium Git.

Konfigurowanie zasad gałęzi

Aby zarządzać zasadami gałęzi, wybierz pozycję >Gałęzie repozytoriów, aby otworzyć stronę Gałęzie w portalu internetowym.

Zrzut ekranu przedstawiający element menu Gałęzie.

Możesz również przejść do ustawień zasad gałęzi za pomocą pozycji Project Ustawienia> Zasady gałęzi Zasady><>repozytorium>Nazwa> gałęzi.

Gałęzie, które mają zasady, wyświetlają ikonę zasad. Możesz wybrać ikonę, aby przejść bezpośrednio do ustawień zasad gałęzi.

Aby ustawić zasady gałęzi, znajdź gałąź, którą chcesz zarządzać. Możesz przeglądać listę lub wyszukiwać gałąź w polu Nazwa gałęzi wyszukiwania w prawym górnym rogu.

Wybierz ikonę Więcej opcji obok gałęzi, a następnie wybierz pozycję Zasady gałęzi z menu kontekstowego.

Zrzut ekranu przedstawiający otwieranie zasad gałęzi z menu kontekstowego.

Znajdź gałąź na stronie. Możesz przeglądać listę lub wyszukiwać gałąź przy użyciu pola Wyszukaj wszystkie gałęzie w prawym górnym rogu.

Zrzut ekranu przedstawiający stronę Gałęzie.

Wybierz przycisk ... Wybierz pozycję Zasady gałęzi z menu kontekstowego.

Zrzut ekranu przedstawiający otwieranie zasad gałęzi z menu kontekstowego.

Konfigurowanie zasad na stronie ustawień gałęzi. Zapoznaj się z poniższymi sekcjami, aby uzyskać opisy i instrukcje dotyczące poszczególnych typów zasad.

Skonfiguruj zasady na stronie Zasady . Zapoznaj się z poniższymi sekcjami, aby zapoznać się z opisami poszczególnych typów zasad. Wybierz pozycję Zapisz zmiany , aby zastosować nową konfigurację zasad.

Zrzut ekranu przedstawiający kartę Zasady.

Wymaganie minimalnej liczby recenzentów

Przeglądy kodu są ważne dla projektów programistycznych. Aby upewnić się, że zespoły przejdą i zatwierdź żądania ściągnięcia, możesz wymagać zatwierdzenia od minimalnej liczby recenzentów. Podstawowe zasady wymagają, aby określona liczba recenzentów zatwierdzała kod bez odrzucenia.

Aby ustawić zasady, w obszarze Zasady gałęzi ustaw opcję Wymagaj minimalnej liczby recenzentów na wartość Włączone. Wprowadź wymaganą liczbę recenzentów i wybierz dowolną z następujących opcji:

Zrzut ekranu przedstawiający zasady Włącz przeglądy kodu.

  • Wybierz pozycję Zezwalaj żądaniom na zatwierdzenie własnych zmian , aby umożliwić twórcy żądania ściągnięcia głosowanie nad zatwierdzeniem. W przeciwnym razie twórca może nadal głosować Zatwierdź żądanie ściągnięcia, ale ich głosowanie nie będzie liczone do minimalnej liczby recenzentów.

  • Wybierz pozycję Zakazać najnowszego wypychania, aby zatwierdzić własne zmiany , aby wymusić segregację obowiązków. Domyślnie każda osoba z uprawnieniem wypychania w gałęzi źródłowej może dodawać zatwierdzenia i głosować na zatwierdzenie żądania ściągnięcia. Wybranie tej opcji oznacza, że ostatni głos wypychacza nie jest liczone, nawet jeśli zwykle może zatwierdzić własne zmiany.

  • Wybierz pozycję Zezwalaj na ukończenie, nawet jeśli niektórzy recenzenci głosują, aby poczekać lub odrzucić, aby zezwolić na ukończenie żądania ściągnięcia , nawet jeśli niektórzy recenzenci głosują przeciwko zatwierdzeniu. Minimalna liczba recenzentów musi nadal zatwierdzać.

  • W obszarze Po wypchnięciu nowych zmian:
    • Wybierz pozycję Wymagaj co najmniej jednego zatwierdzenia w ostatniej iteracji , aby wymagać co najmniej jednego głosowania za zatwierdzeniem ostatniej zmiany gałęzi źródłowej.
    • Wybierz pozycję Resetuj wszystkie głosy zatwierdzenia (nie resetuje głosów do odrzucenia lub oczekiwania), aby usunąć wszystkie głosy zatwierdzenia, ale zachowaj głosy do odrzucenia lub oczekiwania, zawsze gdy zmienia się gałąź źródłowa.
    • Wybierz pozycję Resetuj wszystkie głosy recenzenta kodu, aby usunąć wszystkie głosy recenzentów za każdym razem, gdy gałąź źródłowa ulegnie zmianie, w tym głosów do zatwierdzenia, odrzucenia lub oczekiwania.
  • W obszarze Po wypchnięciu nowych zmian:
    • Wybierz pozycję Wymagaj co najmniej jednego zatwierdzenia dla każdej iteracji , aby wymagać co najmniej jednego głosowania za zatwierdzeniem ostatniej zmiany gałęzi źródłowej. Zatwierdzenie użytkownika nie jest liczone względem poprzedniej niezatwierdzonej iteracji wypychanej przez tego użytkownika. W związku z tym wymagane jest dodatkowe zatwierdzenie ostatniej iteracji przez innego użytkownika. Wymagaj co najmniej jednego zatwierdzenia dla każdej iteracji jest dostępne w usłudze Azure DevOps Server 2022.1 i nowszych.
    • Wybierz pozycję Wymagaj co najmniej jednego zatwierdzenia w ostatniej iteracji , aby wymagać co najmniej jednego głosowania za zatwierdzeniem ostatniej zmiany gałęzi źródłowej.
    • Wybierz pozycję Resetuj wszystkie głosy zatwierdzenia (nie resetuje głosów do odrzucenia lub oczekiwania), aby usunąć wszystkie głosy zatwierdzenia, ale zachowaj głosy do odrzucenia lub oczekiwania, zawsze gdy zmienia się gałąź źródłowa.
    • Wybierz pozycję Resetuj wszystkie głosy recenzenta kodu, aby usunąć wszystkie głosy recenzentów za każdym razem, gdy gałąź źródłowa ulegnie zmianie, w tym głosów do zatwierdzenia, odrzucenia lub oczekiwania.

Zaznacz pole Wymagaj przeglądów kodu

  • Jeśli osoby żądające mogą zatwierdzić własne zmiany , nie zostanie wybrany, twórca żądania ściągnięcia nadal będzie mógł głosować zatwierdź żądanie ściągnięcia, ale ich głosowanie nie będzie liczone do minimalnej liczby recenzentów.
  • Jeśli którykolwiek recenzent odrzuci zmiany, żądanie ściągnięcia nie może zostać ukończone, chyba że wybierzesz opcję Zezwalaj na ukończenie, nawet jeśli niektórzy recenzenci zagłosują na oczekiwanie lub odrzucenie.
  • Możesz zresetować głosy recenzenta kodu, gdy nowe zmiany zostaną wypchnięte do gałęzi źródłowej. Wybierz pozycję Resetuj głosy recenzenta kodu w przypadku nowych zmian.

Jeśli wszystkie inne zasady są przekazywane, twórca może ukończyć żądanie ściągnięcia, gdy wymagana liczba recenzentów je zatwierdzi.

Sprawdzanie połączonych elementów roboczych

W przypadku śledzenia zarządzania elementami roboczymi można wymagać skojarzeń między żądaniami ściągnięcia i elementami roboczymi. Łączenie elementów roboczych zapewnia więcej kontekstu zmian i zapewnia, że aktualizacje przechodzą przez proces śledzenia elementów roboczych.

Aby ustawić zasady, w obszarze Zasady gałęzi ustaw pozycję Sprawdź, czy połączone elementy robocze mają wartość Włączone. To ustawienie wymaga, aby elementy robocze zostały połączone z żądaniem ściągnięcia w celu scalenia żądania ściągnięcia. Ustaw ustawienie Opcjonalne , aby wyświetlić ostrzeżenie, gdy nie ma połączonych elementów roboczych, ale zezwalaj na ukończenie żądania ściągnięcia.

Zrzut ekranu przedstawiający wymaganie połączonych elementów roboczych w żądaniach ściągnięcia.

Wymaganie połączonych elementów roboczych w żądaniach ściągnięcia

Sprawdzanie rozwiązywania komentarzy

Zasady sprawdzania rozwiązywania komentarzy sprawdzają, czy wszystkie komentarze żądania ściągnięcia są rozwiązywane.

Skonfiguruj zasady rozwiązywania komentarzy dla gałęzi, ustawiając opcję Sprawdź, czy chcesz rozwiązać komentarz w obszarze Włączone. Następnie wybierz, czy zasady mają być wymagane , czy opcjonalne.

Sprawdzanie rozwiązywania komentarzy

Aby uzyskać więcej informacji na temat pracy z komentarzami żądania ściągnięcia, zobacz Przeglądanie żądań ściągnięcia.

Skonfiguruj zasady rozwiązywania komentarzy dla gałęzi, wybierając pozycję Sprawdź, czy chcesz rozwiązać komentarz.

Sprawdzanie rozwiązywania komentarzy

Aby uzyskać więcej informacji na temat pracy z komentarzami żądania ściągnięcia, zobacz Przeglądanie żądań ściągnięcia.

Ogranicz typy scalania

Usługa Azure Repos ma kilka strategii scalania, a domyślnie wszystkie z nich są dozwolone. Można zachować spójną historię gałęzi, wymuszając strategię scalania na potrzeby uzupełniania żądań ściągnięcia.

Ustaw wartość Ogranicz typy scalania na Wartość Włączone , aby ograniczyć typy scalania, które mają być dozwolone w repozytorium.

Ogranicz typy scalania

  • Scalanie podstawowe (bez szybkiego przekazywania) tworzy zatwierdzenie scalania w obiekcie docelowym, którego elementy nadrzędne są gałęziami docelowymi i źródłowymi.
  • Scalanie typu squash tworzy historię liniową z pojedynczym zatwierdzeniem w gałęzi docelowej ze zmianami z gałęzi źródłowej. Dowiedz się więcej o scalaniu squasha i wpływie na historię gałęzi.
  • Rebase i fast-forward tworzy historię liniową przez ponowne odtwarzanie zatwierdzeń źródłowych w gałęzi docelowej bez zatwierdzenia scalania.
  • Ponownie bazuj z zatwierdzeniem scalania odtwarza zatwierdzenia źródłowe na obiekcie docelowym, a także tworzy zatwierdzenie scalania.

Uwaga

Ta funkcja jest dostępna dla usługi Azure DevOps Server 2020 i nowszych wersji.

Wymuszanie strategii scalania

Zachowaj spójną historię gałęzi, wymuszając strategię scalania po zakończeniu żądania ściągnięcia. Wybierz pozycję Wymuś strategię scalania i wybierz opcję, aby wymagać scalania żądań ściągnięcia przy użyciu tej strategii.

Ustawianie wymagań scalania

  • Brak szybkiego scalania — ta opcja scala historię zatwierdzeń gałęzi źródłowej po zamknięciu żądania ściągnięcia i utworzeniu zatwierdzenia scalania w gałęzi docelowej.
  • Scalanie typu squash — ukończ wszystkie żądania ściągnięcia za pomocą scalania typu squash, tworząc jedno zatwierdzenie w gałęzi docelowej ze zmianami z gałęzi źródłowej. Dowiedz się więcej o scalaniu squasha i wpływie na historię gałęzi.

Walidacja kompilacji

Przed ukończeniem żądania ściągnięcia można ustawić zasady wymagające pomyślnego utworzenia zmian żądania ściągnięcia. Tworzenie zasad zmniejsza przerwy i pozwala zachować wyniki testów. Tworzenie zasad pomaga nawet wtedy, gdy używasz ciągłej integracji (CI) w gałęziach programowania w celu wczesnego wychwycenia problemów.

Zasady weryfikacji kompilacji kolejkują nową kompilację po utworzeniu nowego żądania ściągnięcia lub wypchnięciu zmian do istniejącego żądania ściągnięcia przeznaczonego dla gałęzi. Zasady kompilacji oceniają wyniki kompilacji, aby określić, czy żądanie ściągnięcia można ukończyć.

Ważne

Przed określeniem zasad weryfikacji kompilacji musisz mieć potok kompilacji. Jeśli nie masz potoku, zobacz Tworzenie potoku kompilacji. Wybierz typ kompilacji pasujący do typu projektu.

Aby dodać zasady weryfikacji kompilacji

  1. + Wybierz przycisk obok pozycji Weryfikacja kompilacji.

    Zrzut ekranu przedstawiający przycisk Dodaj obok pozycji Weryfikacja kompilacji.

  2. Wypełnij formularz Ustaw zasady kompilacji:

    Ustawienia zasad kompilacji

    • Wybierz potok kompilacji.

    • Opcjonalnie ustaw filtr Ścieżka. Dowiedz się więcej o filtrach ścieżek w zasadach gałęzi.

    • W obszarze Wyzwalacz wybierz pozycję Automatyczne (za każdym razem, gdy gałąź źródłowa jest aktualizowana) lub Ręcznie.

    • W obszarze Wymaganie dotyczące zasad wybierz pozycję Wymagane lub Opcjonalne. Jeśli wybierzesz pozycję Wymagane, kompilacje muszą zostać ukończone pomyślnie, aby ukończyć żądania ściągnięcia. Wybierz opcję Opcjonalne , aby podać powiadomienie o niepowodzeniu kompilacji, ale nadal zezwalaj na ukończenie żądania ściągnięcia.

    • Ustaw wygaśnięcie kompilacji, aby upewnić się, że aktualizacje chronionej gałęzi nie przerywają zmian otwartych żądania ściągnięcia.

      • Natychmiast po zaktualizowaniu <nazwy> gałęzi: ta opcja ustawia stan zasad kompilacji żądania ściągnięcia na niepowodzenie za każdym razem, gdy gałąź zostanie zaktualizowana i ponownie umieści kompilację w kolejce. To ustawienie gwarantuje, że żądanie ściągnięcia zmieni się pomyślnie, nawet jeśli chroniona gałąź ulegnie zmianie.

        Ta opcja jest najlepsza dla zespołów, których ważne gałęzie mają kilka zmian. Zespoły pracujące w zajętych gałęziach programowania mogą utrudniać oczekiwanie na kompilację za każdym razem, gdy gałąź zostanie zaktualizowana.

      • Po <n> godzinach, jeśli <nazwa> gałęzi została zaktualizowana: ta opcja wygasa bieżący stan zasad, gdy chroniona gałąź zostanie zaktualizowana, jeśli przekazywana kompilacja jest starsza niż wprowadzony próg. Ta opcja jest kompromisem między zawsze lub nigdy nie wymaga kompilacji, gdy chroniona gałąź zostanie zaktualizowana. Ten wybór zmniejsza liczbę kompilacji, gdy chroniona gałąź ma częste aktualizacje.

      • Nigdy: Aktualizacje do chronionej gałęzi nie zmieniają stanu zasad. Ta wartość zmniejsza liczbę kompilacji, ale może powodować problemy podczas kończenia żądania ściągnięcia, które nie zostały ostatnio zaktualizowane.

    • Wprowadź opcjonalną nazwę wyświetlaną dla tych zasad kompilacji. Ta nazwa identyfikuje zasady na stronie Zasady gałęzi. Jeśli nie określisz nazwy wyświetlanej, zasady używają nazwy potoku kompilacji.

  3. Wybierz pozycję Zapisz.

Gdy właściciel żądania ściągnięcia wypchnie zmiany, które kompilacja zostanie pomyślnie skompilowanych, stan zasad zostanie zaktualizowany.

Jeśli masz wartość Natychmiast, gdy <nazwa> gałęzi jest aktualizowana lub po <n> godzinach, jeśli <nazwa> gałęzi została zaktualizowana, stan zasad zostanie zaktualizowany, gdy chroniona gałąź zostanie zaktualizowana , jeśli poprzednia kompilacja nie jest już prawidłowa.

Uwaga

Ta funkcja jest dostępna dla usługi Azure DevOps Server 2020 i nowszych wersji.

Ustaw zasady wymagające zmian w żądaniu ściągnięcia, aby pomyślnie skompilować gałąź chronioną przed ukończeniem żądania ściągnięcia. Tworzenie zasad zmniejsza przerwy i pozwala zachować wyniki testów. Tworzenie zasad pomaga nawet wtedy, gdy używasz ciągłej integracji (CI) w gałęziach programowania w celu wczesnego wychwycenia problemów.

Jeśli zasady weryfikacji kompilacji są włączone, nowa kompilacja jest kolejkowana po utworzeniu nowego żądania ściągnięcia lub jeśli zmiany zostaną wypchnięte do istniejącego żądania ściągnięcia przeznaczonego dla gałęzi. Następnie zasady kompilacji oceniają wyniki kompilacji, aby określić, czy żądanie ściągnięcia można ukończyć.

Ważne

Przed określeniem zasad weryfikacji kompilacji musisz mieć definicję kompilacji. Jeśli go nie masz, zobacz Tworzenie definicji kompilacji i wybierz typ kompilacji pasujący do typu projektu.

Dodawanie zasad kompilacji

Wybierz pozycję Dodaj zasady kompilacji i skonfiguruj opcje w obszarze Dodawanie zasad kompilacji.

Ustawienia zasad kompilacji

  1. Wybierz definicję kompilacji.

  2. Wybierz typ wyzwalacza. Wybierz pozycję Automatycznie (za każdym razem, gdy gałąź źródłowa jest aktualizowana) lub Ręcznie.

  3. Wybierz wymaganie dotyczące zasad. W przypadku wybrania opcji Wymagane kompilacje muszą zostać ukończone pomyślnie w celu ukończenia żądań ściągnięcia. Wybierz opcję Opcjonalne , aby podać powiadomienie o niepowodzeniu kompilacji, ale nadal zezwalaj na ukończenie żądań ściągnięcia.

  4. Ustaw wygaśnięcie kompilacji, aby upewnić się, że aktualizacje chronionej gałęzi nie przerywają zmian otwartych żądań ściągnięcia.

    • Natychmiast po branch name zaktualizowaniu: ta opcja ustawia stan zasad kompilacji w żądaniu ściągnięcia, aby nie powiodło się po zaktualizowaniu chronionej gałęzi. Ponowne kolejkowanie kompilacji w celu odświeżenia stanu kompilacji. To ustawienie gwarantuje, że zmiany w żądaniach ściągnięcia będą kompilować się pomyślnie, nawet gdy chroniona gałąź ulegnie zmianie. Ta opcja jest najlepsza dla zespołów, które mają ważne gałęzie o mniejszej ilości zmian. Zespoły pracujące w zajętych gałęziach programowania mogą uznać, że zakłóca oczekiwanie na ukończenie kompilacji za każdym razem, gdy chroniona gałąź zostanie zaktualizowana.
    • Po n godzinach branch name aktualizacji: ta opcja wygasa bieżący stan zasad, gdy chroniona gałąź zostanie zaktualizowana, jeśli przekazywana kompilacja jest starsza niż wprowadzona wartość progowa. Ta opcja jest kompromisem między zawsze wymaganiem kompilacji, gdy chroniona gałąź zostanie zaktualizowana i nigdy nie wymaga jej. Ten wybór jest doskonały do zmniejszenia liczby kompilacji, gdy chroniona gałąź ma częste aktualizacje.
    • Nigdy: Aktualizacje do chronionej gałęzi nie zmieniają stanu zasad. Ta wartość zmniejsza liczbę kompilacji dla gałęzi. Może to powodować problemy podczas zamykania żądań ściągnięcia, które nie zostały ostatnio zaktualizowane.
  5. Wprowadź opcjonalną nazwę wyświetlaną dla tych zasad kompilacji. Ta nazwa identyfikuje zasady na stronie Zasady gałęzi. Jeśli nie określisz nazwy wyświetlanej, zasady używają nazwy definicji kompilacji.

  6. Wybierz pozycję Zapisz.

Gdy właściciel wypchnie zmiany wprowadzone w kompilacji pomyślnie, stan zasad zostanie zaktualizowany. Jeśli masz wartość Natychmiast po branch name zaktualizowaniu lub nPo godzinach, jeśli branch name zostały wybrane zaktualizowane zasady kompilacji, stan zasad zostanie zaktualizowany po zaktualizowaniu gałęzi chronionej, jeśli najnowsza kompilacja nie jest już prawidłowa.

Sprawdzanie stanu

Usługi zewnętrzne mogą używać interfejsu API stanu żądania ściągnięcia do publikowania szczegółowych informacji o stanie żądań ściągnięcia. Zasady gałęzi dla dodatkowych usług umożliwiają tym usługom innych firm uczestnictwo w przepływie pracy żądania ściągnięcia i ustalenie wymagań dotyczących zasad.

Wymaganie zatwierdzenia usług zewnętrznych

Aby uzyskać instrukcje dotyczące konfigurowania tych zasad, zobacz Konfigurowanie zasad gałęzi dla usługi zewnętrznej.

Wymaganie zatwierdzenia z usług zewnętrznych

Usługi zewnętrzne mogą używać interfejsu API stanu żądania ściągnięcia do publikowania szczegółowych informacji o stanie żądań ściągnięcia. Zasady gałęzi dla dodatkowych usług umożliwiają tym usługom innych firm uczestnictwo w przepływie pracy żądania ściągnięcia i ustalenie wymagań dotyczących zasad.

Wymaganie zatwierdzenia usług zewnętrznych

Aby uzyskać instrukcje dotyczące konfigurowania tych zasad, zobacz Konfigurowanie zasad gałęzi dla usługi zewnętrznej.

Automatyczne dołączanie recenzentów kodu

Możesz automatycznie dodawać recenzentów do żądań ściągnięcia, które zmieniają pliki w określonych katalogach i plikach lub do wszystkich żądań ściągnięcia w repozytorium.

  1. + Wybierz przycisk obok pozycji Automatycznie uwzględnionych recenzentów.

    Zrzut ekranu przedstawiający dodawanie wymaganych recenzentów.

  2. Wypełnij ekran Dodawanie nowych zasad recenzenta.

    Zrzut ekranu przedstawiający ekran Dodawanie nowych zasad recenzenta.

    • Dodaj osoby i grupy do recenzentów.

    • Wybierz opcję Opcjonalne , jeśli chcesz automatycznie dodać recenzentów, ale nie wymagaj zatwierdzenia w celu ukończenia żądania ściągnięcia.

      Możesz też wybrać pozycję Wymagane , jeśli żądania ściągnięcia nie zostaną ukończone do czasu:

      • Każda osoba dodana jako recenzent zatwierdza zmiany.
      • Co najmniej jedna osoba w każdej grupie dodanej jako recenzent zatwierdza zmiany.
      • Jeśli wymagana jest tylko jedna grupa, minimalna liczba członków, które określisz zatwierdź zmiany.
    • Określ pliki i foldery, które wymagają automatycznie uwzględnionych recenzentów. Pozostaw to pole puste, aby wymagać recenzentów dla wszystkich żądań ściągnięcia w gałęzi .

    • Wybierz pozycję Zezwalaj żądaniom na zatwierdzanie własnych zmian , jeśli właściciele żądań ściągnięcia mogą głosować, aby zatwierdzić własne żądania ściągnięcia, aby spełnić te zasady.

    • Możesz określić komunikat kanału informacyjnego aktywności wyświetlany w żądaniu ściągnięcia.

  3. Wybierz pozycję Zapisz.

Uwaga

Ta funkcja jest dostępna dla usługi Azure DevOps Server 2020 i nowszych wersji.

Wybierz recenzentów dla określonych katalogów i plików w repozytorium.

Wprowadź ścieżkę i wymaganych recenzentów

Ci recenzenci są automatycznie dodawani do żądań ściągnięcia, które zmieniają pliki wzdłuż tych ścieżek. Można również określić komunikat kanału informacyjnego aktywności.

Dodawanie automatycznych recenzentów

Jeśli wybierzesz pozycję Wymagane, nie można ukończyć żądania ściągnięcia do momentu:

  • Każdy użytkownik dodany jako recenzent ścieżki zatwierdza zmiany.
  • Co najmniej jedna osoba w każdej grupie dodanej do ścieżki zatwierdza zmiany.
  • Liczba recenzentów określonych dla każdej grupy dodanej do ścieżki zatwierdza zmiany.

Wymagane recenzenty są automatycznie dodawane

Wybierz opcję Opcjonalne , jeśli chcesz automatycznie dodać recenzentów, ale nie wymagaj zatwierdzenia w celu ukończenia żądania ściągnięcia.

Możesz wybrać pozycję Osoby żądające mogą zatwierdzić własne zmiany.

Po zatwierdzeniu kodu przez wszystkich wymaganych recenzentów można ukończyć żądanie ściągnięcia.

Stan żądania ściągnięcia pokazuje, że recenzenci zatwierdzili

Pomijanie zasad gałęzi

W niektórych przypadkach może być konieczne obejście wymagań dotyczących zasad. Pomijanie uprawnień umożliwia wypychanie zmian do gałęzi bezpośrednio lub wykonywanie żądań ściągnięcia, które nie spełniają zasad gałęzi. Możesz przyznać obejście uprawnień do użytkownika lub grupy. Można ograniczyć zakres uprawnień do całego projektu, repozytorium lub pojedynczej gałęzi.

Dwa uprawnienia umożliwiają użytkownikom obejście zasad gałęzi na różne sposoby:

  • Pomiń zasady podczas kończenia żądań ściągnięcia mają zastosowanie tylko do ukończenia żądania ściągnięcia. Użytkownicy z tym uprawnieniem mogą wykonywać żądania ściągnięcia, nawet jeśli żądania ściągnięcia nie spełniają zasad.

  • Pomijanie zasad podczas wypychania dotyczy wypychania z repozytoriów lokalnych i edycji w sieci Web. Użytkownicy z tym uprawnieniem mogą wypychać zmiany bezpośrednio do chronionych gałęzi bez spełnienia wymagań zasad.

Zrzut ekranu przedstawiający uprawnienia pomijania wymuszania zasad.

Aby uzyskać więcej informacji na temat zarządzania tymi uprawnieniami, zobacz Uprawnienia usługi Git.

W programie TFS 2015 do TFS 2018 Update 2 uprawnienie Wyklucz z wymuszania zasad umożliwia użytkownikom z tym uprawnieniem do wykonywania następujących akcji:

  • Podczas kończenia żądania ściągnięcia należy wyrazić zgodę na zastąpienie zasad i ukończyć żądanie ściągnięcia, nawet jeśli bieżący zestaw zasad gałęzi nie jest spełniony.
  • Wypchnij bezpośrednio do gałęzi, nawet jeśli ta gałąź ma ustawione zasady gałęzi. Należy pamiętać, że gdy użytkownik z tym uprawnieniem wykonuje wypychanie, które spowoduje zastąpienie zasad gałęzi, wypychanie automatycznie pomija zasady gałęzi bez zgody lub ostrzeżenia.

Ważne

Należy zachować ostrożność podczas udzielania możliwości pomijania zasad, szczególnie na poziomie repozytorium i projektu. Zasady są podstawą bezpiecznego i zgodnego zarządzania kodem źródłowym.

Filtry ścieżek

Kilka filtrów ścieżek oferty zasad gałęzi. Jeśli filtr ścieżki jest ustawiony, zasady mają zastosowanie tylko do plików, które są zgodne z filtrem ścieżki. Pozostawienie tego pola pustego oznacza, że zasady mają zastosowanie do wszystkich plików w gałęzi.

Można określić ścieżki bezwzględne (ścieżka musi rozpoczynać się od / lub symbol wieloznaczny) i symbole wieloznaczne. Przykłady:

  • /WebApp/Models/Data.cs
  • /WebApp/*
  • */Models/Data.cs
  • *.cs

Można określić wiele ścieżek przy użyciu ; jako separatora. Przykład:

  • /WebApp/Models/Data.cs;/ClientApp/Models/Data.cs

Ścieżki poprzedzone prefiksem ! są wykluczane, jeśli w przeciwnym razie zostaną uwzględnione. Przykład:

  • /WebApp/*;!/WebApp/Tests/*zawiera wszystkie pliki z wyjątkiem plików w /WebApp/WebApp/Tests
  • !/WebApp/Tests/* określa brak plików, ponieważ nic nie jest uwzględniane jako pierwsze

Kolejność filtrów jest znacząca. Filtry są stosowane od lewej do prawej.

Pytania i odpowiedzi

Czy mogę wypchnąć zmiany bezpośrednio do gałęzi, które mają zasady gałęzi?

Nie można wypychać zmian bezpośrednio do gałęzi, które mają wymagane zasady gałęzi, chyba że masz uprawnienia do pomijania zasad gałęzi. Zmiany w tych gałęziach można wprowadzać tylko za pośrednictwem żądań ściągnięcia. Możesz wypchnąć zmiany bezpośrednio do gałęzi, które mają opcjonalne zasady gałęzi, jeśli nie mają wymaganych zasad gałęzi.

Co to jest autouzupełnianie?

Żądania ściągnięcia do gałęzi ze skonfigurowanymi zasadami gałęzi mają przycisk Ustaw autouzupełnianie . Wybierz tę opcję, aby automatycznie ukończyć żądanie ściągnięcia po spełnieniu wszystkich zasad. Autouzupełnianie jest przydatne, gdy nie oczekujesz żadnych problemów ze zmianami.

Kiedy są sprawdzane warunki zasad gałęzi?

Zasady gałęzi są ponownie oceniane na serwerze, gdy właściciele żądań ściągnięcia wypychają zmiany i kiedy recenzenci głosują. Jeśli zasady wyzwalają kompilację, stan kompilacji ustawia się na oczekiwanie na zakończenie kompilacji.

Czy można używać definicji kompilacji XAML w zasadach gałęzi?

Nie, nie można używać definicji kompilacji XAML w zasadach gałęzi.

Jakich symboli wieloznacznych można używać dla wymaganych recenzentów kodu?

Pojedyncza gwiazdka jest zgodna z dowolną liczbą znaków, w tym ukośnikami */ do przodu i ukośnikami wstecznymi \. Znaki ? zapytania pasują do dowolnego pojedynczego znaku.

Przykłady:

  • *.sql pasuje do wszystkich plików z rozszerzeniem .sql .
  • /ConsoleApplication/* pasuje do wszystkich plików w folderze o nazwie ConsoleApplication.
  • /.gitattributesdopasowuje plik .gitattributes w katalogu głównym repozytorium.
  • */.gitignore pasuje do dowolnego pliku .gitignore w repozytorium.

Czy w wymaganych ścieżkach recenzenta kodu uwzględniana jest wielkość liter?

Nie, zasady gałęzi nie są uwzględniane wielkości liter.

Jak skonfigurować wielu użytkowników jako wymaganych recenzentów, ale wymagać zatwierdzenia tylko jednego z nich?

Możesz dodać użytkowników do grupy, a następnie dodać grupę jako recenzenta. Każdy członek grupy może następnie zatwierdzić, aby spełnić wymagania dotyczące zasad.

Mam uprawnienia do pomijania zasad. Dlaczego nadal widzę błędy zasad w stanie żądania ściągnięcia?

Skonfigurowane zasady są zawsze oceniane pod kątem zmian żądań ściągnięcia. W przypadku użytkowników z uprawnieniami pomijania zasad zgłaszany stan zasad jest tylko poradą. Jeśli użytkownik z uprawnieniami obejścia zatwierdzi, stan niepowodzenia nie blokuje ukończenia żądania ściągnięcia.

Dlaczego nie mogę ukończyć własnych żądań ściągnięcia, gdy ustawiono opcję "Zezwalaj żądaniom na zatwierdzanie własnych zmian"?

Zarówno zasady Wymagaj minimalnej liczby recenzentów, jak i zasady Automatycznie dołączone recenzentów mają opcje Zezwalaj żądaniom na zatwierdzanie własnych zmian. W każdej zasadach ustawienie dotyczy tylko tych zasad. To ustawienie nie ma wpływu na inne zasady.

Na przykład żądanie ściągnięcia ma następujące zasady:

  • Wymagaj minimalnej liczby recenzentów wymaga co najmniej jednego recenzenta.
  • Automatycznie uwzględniane recenzenty wymagają od Ciebie lub zespołu, w którym jesteś recenzentem.
  • Automatycznie dołączona recenzenci ma włączoną opcję Zezwalaj żądaniom na zatwierdzanie własnych zmian .
  • Wymagaj minimalnej liczby recenzentów nie ma włączonej opcji Zezwalaj żądaniom na zatwierdzanie własnych zmian .

W takim przypadku zatwierdzenie spełnia automatycznie uwzględnione recenzentów, ale nie Wymagaj minimalnej liczby recenzentów, więc nie można ukończyć żądania ściągnięcia.

Mogą również istnieć inne zasady, takie jak Zakaz najnowszych pusher zatwierdzania własnych zmian, które uniemożliwiają zatwierdzenie własnych zmian, nawet jeśli opcja Zezwalaj żądaniom na zatwierdzanie własnych zmian jest ustawiona.

Co się stanie, gdy ścieżka w filtrach ścieżki nie zaczyna się ani z symbolem / wieloznacznymi?

Ścieżka w filtrach ścieżki rozpoczynających się ani / z symbolem wieloznacznymi nie będzie miała żadnego efektu, a filtr ścieżki będzie oceniać tak, jakby ta ścieżka nie została określona. Dzieje się tak, ponieważ taka ścieżka nie może być zgodna ze ścieżką bezwzględną / pliku rozpoczynającą się od.