Co to są żądania ściągnięcia?

Ukończone

Zaczynamy od:

  • Przeglądanie gałęzi i ich znaczenie dla żądań ściągnięcia.
  • Definiowanie żądania ściągnięcia.
  • Edukacja o tworzeniu żądania ściągnięcia, przeglądaniu stanów żądań ściągnięcia i scalaniu żądania ściągnięcia.

Odgałęzienia

Najpierw zdefiniujmy, jakie gałęzie są, dlaczego są ważne dla deweloperów i jak są one powiązane z żądaniami ściągnięcia.

Gałęzie to odizolowane obszary robocze, w których można opracowywać swoją pracę bez wpływu na inne elementy w repozytorium. Umożliwiają one opracowywanie funkcji, naprawianie usterek i bezpieczne eksperymentowanie z nowymi pomysłami w zawartym obszarze repozytorium.

Deweloperzy pracujący nad niezależnymi gałęziami to wspólna koncepcja nowoczesnego tworzenia oprogramowania. Mając własną gałąź, deweloper może wprowadzać wszelkie zmiany, nazywane zatwierdzeniami, bez martwienia się o to, jak ich zatwierdzenia wpływają na innych deweloperów pracujących nad własnymi gałęziami.

Scalanie gałęzi

Mimo że każda praca deweloperów w oddzielnej gałęzi jest świetna dla indywidualnej produktywności, otwiera nowe wyzwanie. W pewnym momencie gałąź każdego dewelopera musi zostać scalona z wspólną gałęzią, na przykład main. W miarę skalowania projektów może istnieć wiele scaleń, które muszą się zdarzyć i staje się coraz ważniejsze, aby śledzić i przeglądać poszczególne scalania. Śledzenie wielu zmian w projekcie polega na tym, że żądania ściągnięcia przychodzą.

Co to jest żądanie ściągnięcia?

Żądanie ściągnięcia to sposób dokumentowania zmian gałęzi i informowania o tym, że zmiany z gałęzi dewelopera są gotowe do scalenia z gałęzią podstawową (główną). Żądania ściągnięcia umożliwiają uczestnikom projektu przejrzenie i omówienia proponowanych zmian w celu zapewnienia, że jakość kodu w gałęzi podstawowej jest tak wysoka, jak to możliwe.

Aby scalić dwie gałęzie, muszą być różne od siebie:

  • Gałąź porównawcza jest własną gałęzią dewelopera, która zawiera określone wprowadzone zmiany.
  • Gałąź bazowa , nazywana również gałęzią główną , jest gałęzią, z którą należy scalić zmiany.

Najczęstszym zastosowaniem porównania jest porównanie gałęzi, takich jak podczas uruchamiania nowego żądania ściągnięcia. Zawsze jesteś przekierowany do widoku porównania gałęzi podczas uruchamiania nowego żądania ściągnięcia.

Tworzenie żądania ściągnięcia

Teraz zobaczmy, jak utworzyć żądanie ściągnięcia!

  1. Na GitHub.comstronie przejdź do strony głównej repozytorium.

  2. W menu Gałąź wybierz gałąź zawierającą zatwierdzenia.

    Screenshot of creating a new branch and naming it.

  3. Nad listą plików na żółtym banerze wybierz przycisk Porównaj i żądanie ściągnięcia, aby utworzyć żądanie ściągnięcia dla skojarzonej gałęzi.

    Screenshot of a yellow text box, highlighting the green compare and pull request button.

  4. W menu rozwijanym gałąź podstawowa wybierz gałąź, do której chcesz scalić zmiany. Następnie wybierz menu rozwijane porównaj gałąź , aby wybrać gałąź tematu, w której wprowadzono zmiany.

  5. Wprowadź tytuł i opis żądania ściągnięcia.

  6. Aby utworzyć żądanie ściągnięcia gotowe do przeglądu, wybierz przycisk Utwórz żądanie ściągnięcia. Aby utworzyć robocze żądanie ściągnięcia, wybierz listę rozwijaną i wybierz pozycję Utwórz żądanie ściągnięcia w wersji roboczej, a następnie wybierz pozycję Robocze żądanie ściągnięcia.

Stany żądań ściągnięcia

Teraz przejrzyjmy różne stany żądania ściągnięcia.

  • Żądanie ściągnięcia w wersji roboczej — podczas tworzenia żądania ściągnięcia można utworzyć żądanie ściągnięcia gotowe do przeglądu lub wersję roboczą żądania ściągnięcia. Nie można scalić żądania ściągnięcia ze stanem wersji roboczej, a właściciele kodu nie są automatycznie proszeni o przejrzenie wersji roboczej żądań ściągnięcia.

  • Otwarte żądanie ściągnięcia — stan otwarcia oznacza, że żądanie ściągnięcia jest aktywne i nie zostało jeszcze scalone z gałęzią podstawową. Nadal możesz dokonać zatwierdzeń i omówić i przejrzeć potencjalne zmiany ze współpracownikami.

  • Zamknięte żądanie ściągnięcia — możesz zamknąć żądanie ściągnięcia bez scalania go z gałęzią podstawową/główną. Ta opcja może być przydatna, jeśli zmiany proponowane w gałęzi nie są już potrzebne lub jeśli w innej gałęzi zaproponowano inne rozwiązanie.

  • Scalone żądanie ściągnięcia — stan scalonego żądania ściągnięcia oznacza, że aktualizacje i zatwierdzenia z gałęzi porównania zostały połączone z gałęzią podstawową. Każdy, kto ma dostęp wypychany do repozytorium, może ukończyć scalanie.

Scalanie żądania ściągnięcia

  1. W obszarze nazwy repozytorium wybierz pozycję Żądania ściągnięcia.

    Screenshot of the top navigation bar of a repo with the Pull request tab highlighted.

  2. Na liście Żądania ściągnięcia wybierz żądanie ściągnięcia, które chcesz scalić.

  3. Przewiń w dół do dołu żądania ściągnięcia. W zależności od opcji scalania włączonych dla repozytorium można wykonywać następujące czynności:

    • Scal wszystkie zatwierdzenia z gałęzią podstawową, wybierając przycisk Scal żądanie ściągnięcia. Jeśli opcja Scal żądanie ściągnięcia nie jest wyświetlana, wybierz menu rozwijane scalania, wybierz opcję Utwórz zatwierdzenie scalania, a następnie wybierz przycisk Utwórz zatwierdzenie scalania.

      Screenshot of the dropdown menu of the green merge pull request button with the Create a merge commit selected.

    • Squash i scalanie umożliwia podjęcie wszystkich zatwierdzeń i połączenie ich w jeden. Ta opcja może pomóc w zachowaniu czytelniejszej i zorganizowanej historii repozytorium. Wybierz opcję Squash i merge, a następnie wybierz przycisk Squash i scal.

    • Opcja Rebase i merge umożliwia wykonywanie zatwierdzeń bez zatwierdzenia scalania. Ta opcja umożliwia pominięcie scalania przez zachowanie liniowej historii projektu. Wybierz menu rozwijane scalania, a następnie wybierz opcję Zmień bazę danych i scalanie , a następnie wybierz przycisk Zmień bazę danych i scalanie .

  4. Jeśli zostanie wyświetlony monit, wprowadź komunikat zatwierdzenia lub zaakceptuj komunikat domyślny.

  5. Jeśli masz więcej niż jeden adres e-mail skojarzony z kontem w GitHub.comwitrynie , wybierz menu rozwijane adres e-mail i wybierz adres e-mail, który ma być używany jako adres e-mail autora usługi Git. W tym menu rozwijanym są wyświetlane tylko zweryfikowane adresy e-mail. Jeśli włączono prywatność adresu e-mail, adres e-mail z odpowiedzią w usłudze GitHub jest domyślnym adresem e-mail autora zatwierdzenia.

    Screenshot of a commit change with a description box and the drop-down menu of the email to select as the author of the commit.

  6. Wybierz pozycję Potwierdź scalanie, Potwierdź squash i scal lub Potwierdź ponowną bazę i scalanie.

  7. Opcjonalnie możesz usunąć gałąź compare, aby zachować listę gałęzi w repozytorium.

Następnie wykonasz ćwiczenie, które pobiera przejrzene elementy i stosuje je do rzeczywistego przykładu.