2015-01-23 21 views
5

Mamy repo, które dodałem do mojego lokalnego widelca jako Upstream. Ktoś wysłał PR i chcę to przejrzeć. Chociaż jestem w stanie sprawdzić kod na Githubie za pomocą narzędzia Diff, ale chcę go mieć na moim lokalnym komputerze i przetestować go na prawdziwym urządzeniu, aby upewnić się, że działa poprawnie (Android repo to jest).Sprawdź "żądanie pobrania" na Git, aby przejrzeć/przetestować PR

Jaki jest najlepszy sposób na wypłatę tego PR?

Odpowiedz

8

Jest to dokument trochę nieudokumentowany, ale GitHub udostępnia żądania pobrania jako gałęzie w repozytorium Upstream, więc nie trzeba dodawać pilotów dla każdej strony trzeciej, która mogłaby wysłać żądanie pobrania.

Więc

git fetch Upstream pull/1044/head:pr1044-from-someone 

dokona zobowiązuje we wniosku dostępnego ciągnąć w lokalnym repozytorium w nowym oddziale, pr1044-z-kimś, które można przeglądać i łączą się lokalnie jako właściwe.

Aby uzyskać więcej informacji, patrz help.github.com's Modifying an inactive pull request locally.

+1

Najprostszy z nich. Dzięki John. – Hesam

1

Po prostu wymyśliłem, jak to zrobić. Pozwól mi wyjaśnić, co zrobiłem dla wszystkich, jak ma to samo pytanie.

  1. Przejdź do strony PR na Github. Adres URL powinien wygląda https://github.com/YOUR-NAME/REPO-NAME/pull/1044/files
  2. Dodaj .patch na końcu adresu URL i uderzył Wprowadź tak URL wygląda https://github.com/YOUR-NAME/REPO-NAME/pull/1044/files.patch
  3. pobrać ten plik lub jeśli nie jest do pobrania utworzyć plik tekstowy, kopiowanie strony i wkleić go do tekstu plik. Upewnij się, że plik rozszerzenia jest .patch (nie .txt)
  4. Tworzenie nowego lokalnego oddziału i kasę w tej gałęzi
  5. Spójrz na jakie zmiany w plastrze, wykonując polecenia. To tylko statystyka i nie stosuje się niczego: git apply --stat fix_empty_poster.patch
  6. Wykonując polecenia widać jak blisko kłopoty jesteś :) Jeśli nie skarżą się być szczęśliwa: git apply --check fix_empty_poster.patch
  7. Wreszcie można załatać go przez następującego polecenia: git am --signoff < fix_empty_poster.patch

Teraz masz kopię oddziału do przeglądu.

Więcej referencje:

  1. GitHub Tip: download commits as patches
  2. How to create and apply a patch with Git
2

Inną opcją jest

  • dodać repozytorium PR jako pilot w lokalnej kopii

    git remote add remote_name github.com/user/proj 
    
  • pobrać zmiany z tym odległym

    git fetch remote_name branch_name_to_fetch 
    
  • kasie zmiany używając

    git checkout remote_name/branch_name_to_fetch 
    

A teraz można go przetestować jak na swoje potrzeby na lokalnym, można utworzyć nowa gałąź, zmień różnice między gałęziami i tak dalej.

PS: IMO, jest to nieco żmudne w porównaniu do obecnego podejścia - jeśli otrzymasz dużo żądań ściągnięcia, dodanie wszystkich pilotów może być mylące, a pobranie całej historii gałęzi jest nieoptymalne, łatka jest idealna.

Powiązane problemy