Wykonywanie, porzucenie lub przywracanie żądań ściągnięcia

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

Visual Studio 2019 | Visual Studio 2022

Po zatwierdzeniu żądania ściągnięcia przez wszystkich wymaganych recenzentów i żądaniu ściągnięcia spełnia wszystkie wymagania zasad gałęzi, możesz scalić zmiany w gałęzi docelowej i zakończyć żądanie ściągnięcia. Lub jeśli zdecydujesz się nie kontynuować wprowadzania zmian w żądaniu ściągnięcia, możesz porzucić żądanie ściągnięcia.

Aby rozwiązać problemy ze zmianami recenzentów i reagować na komentarze do przeglądu i rozwiązywać je, zobacz Komentarze adresowe.

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 ukończyć żądanie ściągnięcia, musisz być członkiem grupy zabezpieczeń Współautorzy lub mieć odpowiednie uprawnienia w projekcie, w którym znajduje się żądanie ściągnięcia.

  • Aby współtworzyć żądanie ściągnięcia, musisz być członkiem grupy zabezpieczeń Czytelnicy lub mieć odpowiednie uprawnienia.

  • Aby wyświetlić lub przejrzeć żądania ściągnięcia, musisz mieć dostęp podstawowy lub wyższy do projektu usługi Azure DevOps.

  • Jeśli nie jesteś członkiem projektu, do którego chcesz współtworzyć , dodaj go.

    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 ukończyć żądanie ściągnięcia, musisz być członkiem grupy zabezpieczeń Współautorzy lub mieć odpowiednie uprawnienia w projekcie, który chcesz zmienić.
  • Aby współtworzyć żądanie ściągnięcia, musisz być członkiem grupy zabezpieczeń Czytelnicy lub mieć odpowiednie uprawnienia.
  • 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.

Sprawdzanie zmian scalania

Po zakończeniu żądania ściągnięcia usługa 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ć zatwierdzenie scalania w wersji zapoznawczej i sprawdzić konflikty scalania, wybierz menu Więcej opcji w prawym górnym rogu strony Przegląd żądania ściągnięcia, a następnie wybierz pozycję Wyświetl zmiany scalania.

Jeśli gałąź docelowa została zmieniona po utworzeniu żądania ściągnięcia, wybierz pozycję Uruchom ponownie scalanie , aby utworzyć nowe zatwierdzenie scalania w wersji zapoznawczej i zaktualizować widok różnic zmian scalania.

Zrzut ekranu przedstawiający opcje Scalanie widoku i Ponowne uruchamianie scalania w menu Więcej opcji języka P R.

Przeglądanie 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, niezależnie od tego, czy są one wymagane do scalania, i czy żądanie ściągnięcia przekazuje, czy kończy się niepowodzeniem.

Karta Przegląd żądania ściągnięcia zawiera podsumowanie zasad gałęzi, które przechodzą lub kończą się niepowodzeniem dla żądania ściągnięcia. 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 żądania ściągnięcia wymagania dotyczące zasad gałęzi mają ikonę . Wybierz pozycję Więcej opcji obok wymagania, a następnie wybierz pozycję Wyświetl zasady, aby przejść do strony Zasady gałęzi w programie Project Ustawienia.

Zrzut ekranu przedstawiający wyświetlanie zasad obok wymagania zasad gałęzi w języku P R.

Ukończ żądanie ściągnięcia

Po rozwiązaniu konfliktów scalania żądanie ściągnięcia spełnia wszystkie zasady gałęzi i ma wszystkie wymagane zatwierdzenia, można ukończyć żądanie ściągnięcia.

  1. Wybierz pozycję Ukończ w prawym górnym rogu, aby ukończyć żądanie ściągnięcia. Możesz też wybrać strzałkę listy rozwijanej obok przycisku Zakończ i wybrać jedną z opcji.

    Zrzut ekranu przedstawiający opcje przycisku Ukończ dla języka P R.

    • Ukończ żądanie ściągnięcia teraz i scal zmiany w gałęzi docelowej.
    • Ustaw automatyczne uzupełnianie: skonfiguruj żądanie ściągnięcia, aby ukończyć i scalić je po spełnieniu wszystkich wymaganych zasad gałęzi.
    • Oznacz jako wersję roboczą: Zwróć żądanie ściągnięcia do stanu wersji roboczej i usuń wszystkie głosy.
    • Porzuć: Zamknij żądanie ściągnięcia bez scalania zmian.
  2. W okienku Ukończ żądanie ściągnięcia w obszarze Typ scalania wybierz jedną z opcji scalania.

    Zrzut ekranu przedstawiający pełne okno dialogowe P R.

    • Scal (bez szybkiego przekazywania): Scal z historią nieliniową, która zachowuje wszystkie zatwierdzenia.
    • Zatwierdzanie squasha: scalanie z historią liniową, która łączy wszystkie zatwierdzenia źródłowe w jedno zatwierdzenie w obiekcie docelowym lub scala żądanie ś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.
    • Rebase i fast-forward: Zmień bazę zatwierdzeń źródłowych na element docelowy i szybko do przodu.
    • Scalanie częściowo liniowe: ponowne zatwierdzanie źródła bazy danych na obiekcie docelowym i tworzenie scalania dwuwierszowego.

    Uwaga

    Istniejące zasady są wymuszane. Jeśli na przykład gałąź ma obecnie zasady "tylko scalanie typu squash", musisz zmienić te zasady, jeśli chcesz użyć innego typu scalania.

  3. 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ą żądania ściągnięcia po scaleniu.
    • Dostosuj komunikat zatwierdzenia scalania: dodaj niestandardowy komunikat zatwierdzenia scalania. Jeśli wybierzesz tę opcję, zaktualizuj komunikat zatwierdzenia scalania.
    • Zastąpij zasady gałęzi i włącz scalanie. Wymuś scalanie, nawet jeśli żądanie ściągnięcia nie spełnia wszystkich zasad gałęzi. Ta opcja jest dostępna tylko wtedy, gdy masz uprawnienie Wyklucz z wymuszania zasad.
  4. Wybierz pozycję Zakończ scalanie.

  1. Wybierz pozycję Ukończ w prawym górnym rogu, aby ukończyć żądanie ściągnięcia. Możesz też wybrać strzałkę listy rozwijanej obok przycisku Zakończ i wybrać jedną z następujących opcji:

    Zrzut ekranu przedstawiający opcje przycisku Zakończ dla żądania ściągnięcia.

    • Ukończ żądanie ściągnięcia teraz i scal zmiany w gałęzi docelowej.
    • Ustaw automatyczne uzupełnianie: jeśli masz zasady gałęzi, skonfiguruj żądanie ściągnięcia do ukończenia i scalenia po spełnieniu wszystkich wymaganych zasad gałęzi.
    • Porzuć: Zamknij żądanie ściągnięcia bez scalania zmian.
  2. Na ekranie Ukończ żądanie ściągnięcia wprowadź komunikat zatwierdzenia scalania i zaktualizuj opis żądania ściągnięcia.

    Okno dialogowe Ukończ żądanie ściągnięcia

  3. 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 ściągnięcia.

    • 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.

    • Zastąpij zasady gałęzi i włącz scalanie , aby wymusić scalanie gałęzi, nawet jeśli nie spełnia wszystkich zasad gałęzi. Ta opcja jest dostępna tylko wtedy, gdy masz uprawnienia Wykluczenia z wymuszania zasad.

      Uwaga

      Istniejące zasady są nadal wymuszane. Jeśli na przykład gałąź ma obecnie zasady "tylko scalanie typu squash", musisz edytować te zasady, aby używać innych typów scalania.

  4. Wybierz pozycję Zakończ scalanie.

Po zakończeniu scalania wszystkie połączone elementy robocze zostaną automatycznie zaktualizowane w celu wyświetlenia ukończenia żądania ściągnięcia.

Zrzut ekranu przedstawiający połączone elementy robocze z ukończonymi elementami P Rs.

Zmiana bazy podczas kończenia żądania ściągnięcia

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 ponownej bazy danych, musisz przesłonić uprawnienia zasad gałęzi do ponownej bazy danych.
  • Jeśli gałąź źródłowa żądania ściągnięcia ma zasady, nie można jej ponownie bazować. Ponowne łączenie spowoduje zmodyfikowanie gałęzi źródłowej bez przechodzenia przez proces zatwierdzania zasad.
  • Jeśli użyto rozszerzenia konfliktów scalania w celu rozwiązania konfliktów scalania, nie można ponownie bazować. Rozwiązania konfliktów stosowane do scalania trójkierunkowego są rzadko skuteczne lub prawidłowe podczas ponownego łączenia wszystkich zatwierdzeń żądania ściągnięcia osobno.

We wszystkich tych przypadkach można nadal ponownie bazować gałąź lokalnie, a następnie wypychać w górę lub scalać zmiany w przypadku ukończenia żądania ściągnięcia.

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.

Rozwiązywanie konfliktów scalania

Zmiany plików w gałęzi mogą powodować konflikt ze zmianami w innej gałęzi. Gdy nie jest jasne, jak scalić zmiany, usługa Git wyświetla pliki powodujące konflikt na stronie Przegląd żądania ściągnięcia. 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.

Zrzut ekranu przedstawiający konflikty scalania na karcie Przegląd punktu odzyskiwania.

Ustawianie żądania ściągnięcia na autouzupełnianie

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 zakończeniu żądania ściągnięcia 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.

Zrzut ekranu przedstawiający zmianę opcjonalnych zasad wymaganych w panelu Włącz automatyczne uzupełnianie.

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.

Zrzut ekranu przedstawiający żądanie ściągnięcia w stanie autouzupełniania.

Zrzut ekranu przedstawiający żądanie ściągnięcia w stanie autouzupełniania.

Żądanie ściągnięcia ustawione na autouzupełnianie wyświetla wskaźnik Autouzupełnianie na stronie Żądania ściągnięcia.

Zrzut ekranu przedstawiający automatyczne uzupełnianie żądania ściągnięcia na liście żądań ściągnięcia.

Porzucenie lub ponowne aktywowanie żądania ściągnięcia

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 żądania ściągnięcia, wykonaj następujące kroki. Aby uzyskać więcej informacji, zobacz Cofanie zmian.

  1. Otwórz ukończone żądanie ściągnięcia i wybierz pozycję Przywróć. Ta akcja tworzy nową gałąź ze zmianami, które cofają żądanie ściągnięcia w istniejącej gałęzi docelowej w repozytorium.

  2. W okienku Przywróć żądanie ściągnięcia:

    1. W obszarze Gałąź docelowa wybierz gałąź, w której chcesz cofnąć zmiany żądania ściągnięcia.
    2. W obszarze Wymagana nazwa gałęzi tematu zmień nazwę gałęzi żądania ściągnięcia, jeśli chcesz.
    3. Wybierz pozycję Przywróć.
  3. Na ekranie Nowe żądanie ściągnięcia wybierz pozycję Utwórz.

  4. Scal nowe żądanie ściągnięcia, aby zakończyć przywracanie.

Uwaga

Gałąź utworzona podczas tego przywracania ma jedno zatwierdzenie, które przywraca wszystkie zmiany pliku z oryginalnego żądania ściągnięcia. Gałąź nie zawiera przywróconego zatwierdzenia dla każdego z zatwierdzeń w oryginalnym żądaniu ściągnięcia.

Następne kroki