Informacje o żądaniach ściągnięcia
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Żądania ściągnięcia to sposób zmiany, przeglądania i scalania kodu w repozytorium Git w usłudze Azure Repos. Żądania ściągnięcia mogą pochodzić z gałęzi w tym samym repozytorium lub z gałęzi w rozwidleniu repozytorium. Zespoły używają żądania ściągnięcia do przeglądania kodu i przekazywania opinii na temat zmian przed scaleniem kodu z gałęzią główną. Recenzenci mogą przechodzić przez proponowane zmiany, pozostawiać komentarze i głosować, aby zatwierdzić lub odrzucić kod.
W tym artykule opisano wskazówki dotyczące żądań ściągnięcia i zagadnienia dotyczące zarządzania. Aby uzyskać instrukcje dotyczące tworzenia, wyświetlania, przeglądania i wykonywania żądań ściągnięcia, zobacz następujące artykuły:
- Tworzenie żądań ściągnięcia
- Wyświetlanie i otwieranie żądań ściągnięcia
- Przeglądanie żądań ściągnięcia
- Wykonywanie żądań ściągnięcia
Uwaga
Ze względu na wydajność i stabilność liczba recenzentów, które można dodać do żądania ściągnięcia, musi wynosić 1000 lub mniej. Nowe żądania ściągnięcia nie zostaną utworzone podczas dodawania więcej niż 1000 recenzentów, a istniejące żądania ściągnięcia nie umożliwią dodania więcej niż 1000 recenzentów.
Uprawnienia i wymagania wstępne
Repozytoria muszą być włączone w projekcie. Jeśli centrum repozytoriów i skojarzone strony nie są wyświetlane, zobacz Włączanie lub wyłączanie usługi Azure DevOps w celu ponownego włączenia repozytoriów.
Aby wyświetlić lub przejrzeć żądania ściągnięcia, musisz być członkiem projektu usługi Azure DevOps z dostępem podstawowym lub wyższym.
- Jeśli nie masz projektu, utwórz go lub zarejestruj się bezpłatnie.
- Jeśli nie jesteś członkiem projektu, dodaj go.
Aby współtworzyć żądanie ściągnięcia, musisz być członkiem grupy zabezpieczeń Czytelnicy lub mieć odpowiednie uprawnienia.
Aby utworzyć i ukończyć żądanie ściągnięcia, musisz być członkiem grupy zabezpieczeń Współautorzy lub mieć odpowiednie uprawnienia.
Uwaga
W przypadku projektów publicznych użytkownicy, którym udzielono dostępu uczestnikom projektu , mają pełny dostęp do usługi Azure Repos.
- Repozytoria muszą być włączone w projekcie. Jeśli centrum repozytoriów i skojarzone strony nie są wyświetlane, zobacz Włączanie lub wyłączanie usługi Azure DevOps w celu ponownego włączenia repozytoriów.
- Aby wyświetlić lub przejrzeć żądania ściągnięcia, musisz być członkiem projektu usługi Azure DevOps z dostępem podstawowym lub wyższym. Jeśli nie jesteś członkiem projektu, dodaj go.
- Aby współtworzyć żądanie ściągnięcia, musisz być członkiem grupy zabezpieczeń Czytelnicy lub mieć odpowiednie uprawnienia.
- Aby utworzyć i ukończyć żądanie ściągnięcia, musisz być członkiem grupy zabezpieczeń Współautorzy lub mieć odpowiednie uprawnienia.
Aby uzyskać więcej informacji o uprawnieniach i dostępie, zobacz Domyślne repozytorium Git i uprawnienia gałęzi oraz Informacje o poziomach dostępu.
Opinie dotyczące jakości żądań ściągnięcia
Recenzje wysokiej jakości zaczynają się od wysokiej jakości opinii. Oto kilka kluczy do wspaniałych opinii dotyczących żądania ściągnięcia:
- Właściciel żądania ściągnięcia powinien mieć odpowiednie osoby przeglądające żądanie ściągnięcia i upewnić się, że recenzenci wiedzą, co robi kod.
- Recenzenci powinni wyrazić konstruktywną opinię.
- Właściciele i recenzenci powinni szybko komentować i odpowiadać.
Właściciele żądania ściągnięcia powinni:
- Pamiętaj, aby wybrać odpowiednich recenzentów do przypisania do żądania ściągnięcia.
- Uwzględnij recenzentów, którzy wiedzą, jak działa kod.
- Poproś deweloperów pracujących w innych obszarach, aby podzielili się swoimi pomysłami.
- Podaj jasny opis zmian.
- Udostępnij recenzentowi wskazówki dotyczące szablonów żądań ściągnięcia.
- Podaj kompilację kodu z uruchomioną poprawką lub funkcją.
- Odpowiedz na komentarze, akceptując sugestię lub wyjaśniając, dlaczego sugerowana zmiana nie jest idealna.
- Aby uzyskać dobre sugestie poza zakresem żądania ściągnięcia, utwórz nowe elementy robocze, gałęzie i żądania ściągnięcia, aby wprowadzić te zmiany.
Recenzenci powinni wykonywać następujące zadania.
- Prześlij opinię na temat zmian, z którymi nie zgadzają się
- Identyfikowanie problemów i nadawanie konkretnych sugestii dotyczących tego, co należy zrobić inaczej
- Upewnij się, że opinia ma wyraźną intencję i jest łatwa do zrozumienia
- Pozostawianie komentarzy lub głosowanie nad zmianami
Aby uzyskać więcej informacji, zobacz Pobieranie opinii za pomocą żądań ściągnięcia usługi Git.
Zasady gałęzi i żądania ściągnięcia
Twój zespół może polegać na gałęziach krytycznych w repozytorium, takich jak main
gałąź, aby zawsze mieć dobrą formę. Można ustawić zasady gałęzi, aby wymagać żądań ściągnięcia dla wszelkich zmian w tych chronionych gałęziach i odrzucić wszelkie zmiany wypchnięte bezpośrednio do gałęzi.
Możesz dodać więcej zasad do żądania ściągnięcia, aby wymusić lepszą jakość kodu w gałęziach kluczy. Dodatkowe wymagania, takie jak czysta kompilacja proponowanego kodu lub zatwierdzenia przez wielu recenzentów, mogą pomóc w ochronie kluczowych gałęzi.
Liczbę wymaganych zatwierdzeń żądania ściągnięcia można ustawić w zasadach gałęzi. Można również ustawić, że niektórzy recenzenci mają być wymagane lub opcjonalne dla wszystkich lub niektórych żądania ściągnięcia. Żądanie ściągnięcia można ustawić na autouzupełnianie z wymaganą liczbą zatwierdzeń, nawet jeśli inni recenzenci odrzucają zmiany. Jednak wymagani recenzenci muszą zatwierdzić żądania ściągnięcia, zanim żądania ściągnięcia będą mogły zostać scalone. Najlepszym rozwiązaniem jest przejrzenie i zatwierdzenie zmian w znaczącym żądaniu ściągnięcia przez co najmniej dwóch recenzentów.
Aby zresetować głosy za każdym razem, gdy autor żądania ściągnięcia wypycha nowe zmiany, wybierz pozycję Resetuj głosy recenzentów, gdy w zasadach gałęzi Wymagaj minimalnej liczby recenzentów .
Poniższa tabela zawiera podsumowanie zasad, które można zdefiniować w celu dostosowania gałęzi. Aby zapoznać się z omówieniem wszystkich zasad i ustawień repozytorium oraz gałęzi, zobacz Ustawienia i zasady repozytorium Git.
Zasady
Wartość domyślna
Opis
Wyłączona
Wymagaj zatwierdzenia od określonej liczby recenzentów żądań ściągnięcia.
Wyłączona
Zachęcaj do śledzenia, sprawdzając połączone elementy robocze w żądaniach ściągnięcia
Wyłączona
Sprawdź, czy wszystkie komentarze zostały rozwiązane w przypadku żądań ściągnięcia.
Wyłączona
Kontrolowanie historii gałęzi przez ograniczenie dostępnych typów scalania po zakończeniu żądań ściągnięcia.
Wyłączona
Dodaj co najmniej jedną zasady, aby zweryfikować kod przez wstępne scalanie i tworzenie zmian żądań ściągnięcia. Może również włączać lub wyłączać zasady.
Wyłączona
Dodaj co najmniej jedną zasady, aby wymagać od innych usług publikowania stanu pomyślnego ukończenia żądań ściągnięcia. Może również włączać lub wyłączać zasady.
Wyłączona
Dodaj co najmniej jedną zasady, aby wyznaczyć recenzentów kodu, aby automatycznie dołączać żądania ściągnięcia, zmieniając niektóre obszary kodu. Może również włączać lub wyłączać zasady.
Aby uzyskać więcej informacji, zobacz:
- Omówienie zasad gałęzi
- Jak skonfigurować zasady gałęzi
- Uprawnienia gałęzi
- Tworzenie niestandardowych zasad rozgałęziania za pomocą usługi Azure Functions
Definiowanie kontroli stanu w celu poprawy jakości kodu
Żądania ściągnięcia i zasady gałęzi umożliwiają zespołom wymuszanie najlepszych rozwiązań dotyczących przeglądania kodu i uruchamiania automatycznych kompilacji. Wiele zespołów ma dodatkowe wymagania i walidacje, które należy wykonać w kodzie. Aby uwzględnić te potrzeby, możesz zintegrować kontrole stanu żądania ściągnięcia z przepływem pracy żądania ściągnięcia. W przypadku sprawdzania stanu żądania ściągnięcia usługi zewnętrzne mogą programowo podpisywać zmiany kodu, kojarząc informacje o powodzeniu lub niepowodzeniu z żądaniem ściągnięcia.
Aby uzyskać więcej informacji, zobacz następujące artykuły:
- Dostosowywanie i rozszerzanie przepływów pracy żądań ściągnięcia przy użyciu stanu żądania ściągnięcia
- Tworzenie serwera stanu żądania ściągnięcia przy użyciu Node.js
- Konfigurowanie zasad rozgałęziania dla usługi zewnętrznej
Problem z wieloma bazami scalania
W niektórych przypadkach żądanie ściągnięcia ma więcej niż jedną prawdziwą bazę scalania, a taka sytuacja może powodować problemy z zabezpieczeniami. Jeśli pliki w żądaniu ściągnięcia mają różne wersje w różnych bazach scalania, jest wyświetlane ostrzeżenie o wielu bazach scalania. Aby uzyskać więcej informacji i korygowania, zobacz Wiele baz scalania.
Następne kroki
- Zwiększanie jakości kodu za pomocą zasad gałęzi
- Dostosowywanie i rozszerzanie przepływów pracy żądań ściągnięcia przy użyciu stanu żądania ściągnięcia
- Powiadomienia o aktualizacji żądania ściągnięcia
- Zmienianie gałęzi domyślnej
- Kopiowanie zmian za pomocą funkcji cherry-pick
- Scalanie strategii i scalanie squasha
- Wiele baz scalania