Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
Gdy wszyscy wymagani recenzenci zatwierdzą twój wniosek ściągnięcia (PR), a PR spełnia wszystkie wymagania dotyczące zasad gałęzi, możesz scalić swoje zmiany z gałęzią docelową i zakończyć PR. Lub jeśli zdecydujesz się nie kontynuować wprowadzania zmian w żądaniu ściągnięcia, możesz porzucić żądanie ściągnięcia.
Aby rozwiązać zmiany wprowadzone przez recenzentów oraz odpowiadać na komentarze do przeglądu i je rozwiązywać, zobacz Obsługa komentarzy.
Wymagania wstępne
Kategoria | Wymagania |
---|---|
Dostęp do projektu | Członek projektu . |
uprawnienia | — Wyświetlanie kodu w projektach prywatnych: co najmniej dostęp na poziomie Podstawowym. — Klonowanie lub współtworzenie kodu w prywatnych projektach: członkostwo w grupie zabezpieczeń Współautorzy lub odpowiednie uprawnienia w projekcie. — Ustaw uprawnienia gałęzi lub repozytorium: Zarządzanie uprawnieniami dla gałęzi lub repozytorium. - Zmień gałąź domyślną: Edytuj zasady uprawnienia dla repozytorium. — Zaimportuj repozytorium: członek grupy zabezpieczeń Administratorzy projektów lub uprawnienia na poziomie projektu Git Utwórz repozytorium ustawione na Dozwolone. Aby uzyskać więcej informacji, zobacz Ustawianie uprawnień repozytorium Git. |
Usługi | Repozytoria włączone. |
Narzędzia | Opcjonalny. Użyj poleceń az repos: Azure DevOps CLI. |
Uwaga
W projektach publicznych użytkownicy z dostępem Stakeholder mają pełny dostęp do usługi Azure Repos, w tym wyświetlanie, klonowanie i współtworzenie kodu.
Kategoria | Wymagania |
---|---|
Dostęp do projektu | Członek projektu . |
uprawnienia | — Wyświetl kod: przynajmniej podstawowy dostęp. — Klonowanie lub współtworzenie kodu: członek grupy zabezpieczeń Współtwórców lub posiadający odpowiednie uprawnienia w projekcie. |
Usługi | Repozytoria włączone. |
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.
W usługach Azure DevOps możesz zarządzać żądaniami ściągnięcia i innymi zasobami z poziomu interfejsu wiersza poleceń (CLI) Azure za pomocą rozszerzenia azure-devops
. Aby dowiedzieć się, jak pracować z interfejsem wiersza polecenia usługi Azure DevOps Services, zobacz Rozpoczynanie pracy z interfejsem wiersza polecenia usługi Azure DevOps. Polecenia interfejsu wiersza polecenia usługi Azure Repos dla żądań ściągnięcia używają polecenia az repos pr.
Sprawdzanie zmian scalania
Po zakończeniu żądania ściągnięcia Git dodaje nowe zatwierdzenie scalania na końcu gałęzi głównej. To zatwierdzenie scalania łączy wcześniejsze historie gałęzi głównej i gałęzi źródłowej żądania ściągnięcia. Aby wyświetlić podgląd zatwierdzenia scalania i sprawdzić konflikty scalania, wybierz menu Więcej opcji w prawym górnym rogu strony Przegląd żądania ściągnięcia (PR), a następnie wybierz pozycję Wyświetl zmiany scalania.
Jeśli zmieniłeś gałąź docelową po utworzeniu PR, wybierz Uruchom ponownie scalanie, aby utworzyć nowe zatwierdzenie próbne scalania i zaktualizować widok różnic zmian scalania.
Przegląd zasad gałęzi
Zespoły mogą ustawiać zasady gałęzi, które wymagają żądań ściągnięcia w chronionych gałęziach, aby spełnić określone kryteria, zanim żądania ściągnięcia będą mogły zostać scalone. Można zobaczyć zasady gałęzi obowiązujące dla żądania ściągnięcia, sprawdzić, czy są one wymagane do scalania, oraz czy żądanie ściągnięcia jest zaakceptowane czy odrzucone.
Karta Przegląd podsumowuje zasady gałęzi, które są spełniane lub nie są spełniane dla pull requesta. Przegląd zawiera tylko zasady, które zakończyły się niepowodzeniem, ale wszystkie kontrole zasad można wyświetlić, wybierając pozycję Wyświetl <n> kontrole.
Na stronie Przegląd PR wymagania zasad gałęzi mają ikonę . Wybierz Więcej opcji obok wymagania, a następnie wybierz Wyświetl zasady aby przejść do strony Zasady gałęzi w Ustawieniach Projektu.
Ukończ żądanie ściągnięcia
Po rozwiązaniu konfliktów scalania i spełnieniu wszystkich zasad gałęzi oraz uzyskaniu wszystkich wymaganych zatwierdzeń, możesz ukończyć PR.
Wybierz Ukończ w prawym górnym rogu, aby zakończyć PR. Możesz też wybrać strzałkę listy rozwijanej obok przycisku Zakończ i wybrać jedną z opcji.
- Ukończ PR teraz i scal zmiany do gałęzi docelowej.
- Ustaw automatyczne uzupełnianie: skonfiguruj prośbę o ściągnięcie, aby zakończyć i scalić ją po spełnieniu wszystkich wymaganych zasad gałęzi.
- Oznacz jako wersję roboczą: Przywróć PR do stanu wersji roboczej i usuń wszystkie głosy.
- Porzuć: Zamknij pull request bez scalania zmian.
W okienku Complete pull request, w sekcji Typ scalania, wybierz jedną z opcji scalania.
- Scalanie (bez szybkiego przesuwania): Scalanie z historią nieliniową, która zachowuje wszystkie zatwierdzenia.
- Squash commit: scalanie z historią liniową, która łączy wszystkie zatwierdzenia źródłowe w jedno zatwierdzenie w gałęzi docelowej lub squash merge żądania ściągnięcia. Należy pamiętać, że nowe zatwierdzenie zostanie utworzone dla gałęzi docelowej bez przechowywania historii zatwierdzń z gałęzi źródłowej.
- Przebazowanie i szybkie przesunięcie: Przebazuj zatwierdzenia źródłowe na element docelowy, a następnie szybko przesuń.
- Częściowo liniowe scalanie: Rebaza zmian źródłowych na obiekt docelowy i tworzenie scalania z dwoma rodzicami.
Uwaga
Istniejące zasady są wymuszane. Na przykład, jeśli Twoja gałąź ma obecnie politykę jedynie scalania typu squash, musisz zmienić tę politykę, jeśli chcesz użyć innego typu scalania.
Wybierz dowolną z następujących opcji po zakończeniu. Niektóre opcje nie są dostępne dla niektórych typów scalania.
- Ukończ skojarzone elementy robocze po scaleniu: Ukończ wszystkie połączone elementy robocze.
- Usuń <nazwę> gałęzi po scaleniu: Usuń gałąź źródłową PR po scaleniu.
- Dostosuj komunikat zatwierdzenia scalania: dodaj niestandardowy komunikat zatwierdzenia scalania. Jeśli wybierzesz tę opcję, zaktualizuj komunikat zatwierdzenia scalania.
- Zignoruj polityki gałęzi i zezwól na scalanie. Wymuś scalanie, nawet jeśli PR nie spełnia wszystkich zasad gałęzi. Ta opcja jest dostępna tylko wtedy, gdy masz uprawnienie Zwolnienie z egzekwowania zasad.
Wybierz pozycję Zakończ scalanie.
Wybierz pozycję Ukończ w prawym górnym rogu, aby zamknąć żądanie ściągnięcia (pull request). Możesz też wybrać strzałkę listy rozwijanej obok przycisku Zakończ i wybrać jedną z następujących opcji:
- Zakończ żądanie ściągnięcia teraz i scal zmiany z gałęzią docelową.
- Ustaw automatyczne uzupełnianie: Jeśli masz zasady dotyczące gałęzi, skonfiguruj Żądanie Ściągnięcia tak, aby zostało ukończone i scalone po spełnieniu wszystkich wymaganych zasad.
- Porzuć: Zamknij żądanie ściągnięcia bez scalania zmian.
Na ekranie Complete pull request wprowadź komunikat dla zatwierdzenia połączenia i zaktualizuj opis pull requestu.
Wybierz dowolną z następujących opcji:
Ukończ połączone elementy robocze po scaleniu , aby ukończyć wszystkie połączone elementy robocze.
Usuń
<branch name>
po scaleniu, aby usunąć gałąź źródłową z żądania połączenia.Squash zmienia się podczas scalania w celu scalenia żądania ściągnięcia. Należy pamiętać, że nowe zatwierdzenie zostanie utworzone dla gałęzi docelowej bez przechowywania historii zatwierdzń z gałęzi źródłowej.
Przełącz zasady gałęzi i włącz scalanie, aby wymusić scalanie gałęzi, nawet jeśli gałąź nie spełnia wszystkich zasad. Ta opcja jest dostępna tylko wtedy, gdy masz uprawnienia zwolnienia z wymuszania zasad.
Uwaga
Istniejące zasady są nadal wymuszane. Na przykład, jeśli w przypadku Twojej gałęzi obowiązuje obecnie polityka "tylko scalanie typu squash", musisz edytować tę politykę, aby móc używać innych typów scalania.
Wybierz pozycję Zakończ scalanie.
Po zakończeniu scalania wszystkie połączone elementy robocze zostaną automatycznie zaktualizowane, aby pokazać zamknięcie PR.
Rebasowanie podczas finalizacji pull requestu
Istnieje kilka sytuacji, gdy ponowne łączenie podczas kończenia żądania ściągnięcia nie jest możliwe:
- Jeśli zasady w gałęzi docelowej zabraniają używania strategii rebase, musisz mieć uprawnienia do nadpisywania zasad gałęzi, aby móc wykonać rebase.
- Jeśli gałąź źródłowa pull requestu ma zasady, nie można jej przerebasować. Ponowne łączenie spowoduje zmodyfikowanie gałęzi źródłowej bez przechodzenia przez proces zatwierdzania zasad.
- Jeśli użyłeś rozszerzenia do rozwiązywania konfliktów scalania, nie możesz wykonać operacji ponownego bazowania. Rozwiązania konfliktów stosowane do scalania trójkierunkowego są rzadko skuteczne lub prawidłowe, gdy ponownie bazuje się na wszystkich indywidualnych zatwierdzeniach pull requesta (PR).
We wszystkich tych przypadkach można nadal przebazować swoją gałąź lokalnie, a następnie wypchnąć do zdalnego repozytorium lub dokonać scalania-zgniatania zmian, gdy ukończysz PR.
Problem z wieloma bazami scalania
W niektórych przypadkach PR ma więcej niż jedną prawdziwą bazę scalania, a taka sytuacja może powodować problemy z bezpieczeństwem. 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 rozwiązania problemów, zobacz Wiele baz scalania.
Rozwiązać konflikty scalania
Zmiany plików w gałęzi mogą powodować konflikt ze zmianami w innej gałęzi. Gdy nie jest jasne, jak scalić zmiany, Git wyświetla pliki, które powodują konflikt na stronie Przegląd pull requesta. Aby można było scalić żądanie ściągnięcia, należy rozwiązać konflikty scalania między gałęzią żądania ściągnięcia i gałęzią docelową, zanim będzie można scalić żądanie ściągnięcia lub ustawić żądanie ściągnięcia na wartość autouzupełniania. Aby uzyskać instrukcje dotyczące rozwiązywania konfliktów scalania, zobacz Rozwiązywanie konfliktów scalania.
Ustaw pull request do autouzupełnienia
Wybierz pozycję Ustaw automatyczne uzupełnianie z listy rozwijanej Zakończ , aby zakończyć i scalić zmiany żądania ściągnięcia, gdy tylko warunki spełniają wszystkie zasady gałęzi. Po ukończeniu PR otrzymasz powiadomienie e-mail. Jeśli konflikt lub błąd uniemożliwia ukończenie żądania ściągnięcia, wyślij wiadomość e-mail z powiadomieniem o problemie.
Uwaga
Opcja Ustaw automatyczne uzupełnianie jest dostępna w usługach Azure Repos i TFS 2017 i nowszych, gdy masz zasady gałęzi. Jeśli nie widzisz opcji Ustaw automatyczne uzupełnianie, nie masz żadnych zasad gałęzi. Aby uzyskać więcej informacji, zobacz Zasady gałęzi.
Domyślnie żądanie ściągnięcia ustawione na automatyczne uzupełnianie oczekuje tylko na wymagane zasady. W panelu Włącz automatyczne uzupełnianie możesz również poczekać na opcjonalne zasady.
Począwszy od wersji TFS 2018 Update 2, na stronie Przegląd żądania ściągnięcia zostanie wyświetlona lista wybitnych kryteriów zasad, na które oczekuje żądanie ściągnięcia. Jeśli ustawisz zasady, które mają być wymagane w panelu Włącz automatyczne uzupełnianie , możesz ustawić je z powrotem na wartość opcjonalną na stronie Przegląd .
Wybierz pozycję Anuluj automatyczne uzupełnianie , aby wyłączyć autouzupełnianie.
Żądanie ściągnięcia ustawione na Autouzupełnianie wyświetla odznakę Autouzupełnianie na stronie Żądania ściągnięcia.
Porzucenie lub ponowne aktywowanie pull requesta
Aby porzucić zmiany i żądanie ściągnięcia bez scalania, wybierz pozycję Porzuć z listy rozwijanej na przycisku Zakończ . Nadal można wyświetlić porzucone żądanie ściągnięcia i pozostaje połączone z elementami roboczymi.
Aby ponownie uaktywnić porzucone żądanie ściągnięcia w dowolnym momencie, otwórz żądanie ściągnięcia z karty Porzucone w widoku Żądanie ściągnięcia i wybierz pozycję Aktywuj ponownie w prawym górnym rogu.
Przywracanie ukończonego żądania ściągnięcia
Aby cofnąć zmiany z PR, wykonaj następujące kroki. Aby uzyskać więcej informacji, zobacz Cofanie zmian.
Otwórz ukończone żądanie ściągnięcia i wybierz pozycję Przywróć. Ta akcja tworzy nową gałąź z zmianami, które anulują żądanie ściągnięcia w istniejącej gałęzi docelowej w repozytorium.
W okienku Przywróć żądanie ściągnięcia:
- Pod Gałąź docelowa, wybierz gałąź, w której chcesz cofnąć zmiany pull request.
- Pod Wymagana nazwa gałęzi tematu, zmień nazwę gałęzi do przywracania, jeśli chcesz.
- Wybierz pozycję Przywróć.
Na ekranie Nowy wniosek ściągnięcia wybierz Utwórz.
Scal nowe PR, aby zakończyć cofanie.
Uwaga
Gałąź utworzona podczas tego przywracania ma jeden commit, który cofa wszystkie zmiany plików z oryginalnego pull request. Gałąź nie zawiera przywróconego zatwierdzenia dla każdego z zatwierdzeń w oryginalnym żądaniu ściągnięcia.