2012-10-01 10 views
60
  • Zrobiłem kilka zmian
  • I złożyła wniosek ściągania
  • Żądanie ciągnąć została przyjęta i połączyły.
  • Znaleźliśmy błąd
  • Zmiany zostały usunięte ponownie podczas naprawiania błędu.

Naprawiłem błąd i chcę ponownie przesłać żądanie pobrania z jednym dodatkowym zatwierdzeniem. Czy istnieje sposób, aby ponownie otworzyć żądanie pobrania lub zaktualizować je, czy muszę utworzyć nowe żądanie ściągnięcia, ponownie wpisać opis itp.? Gitorious ma tę funkcję i niedawno przeprowadziliśmy się do GitHub.GitHub: Wznowienie scaloną żądania ściągania

+0

Byłem dzisiaj w podobnej sytuacji, tj. Użyłem przycisku "Żądanie pobrania połączenia", które domyślnie łączy zmiany w gałąź docelową i zamyka PR. Później odkryłem błąd w testowaniu, który chciał naprawić pierwotny programista. Chciałem sposób na ponowne otwarcie tego PR, aby można było dodać więcej poprawek do tego samego PR, ale nie mogłem, ponieważ nie ma przycisku ponownego otwierania PR. – SBirthare

Odpowiedz

70

Odpowiedź brzmi: Nie można.

Po zsunięciu i zamknięciu żądania pobrania zostanie ono zablokowane na zawsze i nie będzie można go ponownie otworzyć. Jeśli twoja prośba o wyciągnięcie jest połączona, zamknięta, to twoje zmiany są wyciągane (przez wymuszone przesuwanie do tyłu przed scaleniem), musisz dodać commit do oddziału i utworzyć nowe żądanie ściągnięcia, kopiując wszystkie szczegóły i prawdopodobnie zapewniając link do pierwotnego żądania ściągnięcia, aby ręcznie zapisać historię.

Może to być ładne żądanie funkcji dla przyszłej wersji GitHub.

+7

Nie wiem, kiedy został zmieniony, ale możesz teraz komentować i ponownie otwierać zamknięte wiadomości. –

+10

@LB, wygląda na to, że nie można ponownie otworzyć programów PR, które zostały zamknięte * i scalone *. –

+0

Rzeczywiście możesz. Zakładając, że przywrócono początkowe scalanie, możesz utworzyć gałąź głównego repozytorium, a na tym nowym oddziale po prostu cofnąć zatwierdzenie, które przywróciło scalenie. – SsjCosty

12

Właśnie z powodzeniem ponownie wniosek ciągnąć za

  1. Komentując wniosek ciągnącej
  2. Kliknięcie przycisku „Wyślij i ponownie otwarty”, który ukazał się w formie komentarza.
+0

Nie udało mi się tego powtórzyć - czy możesz wyjaśnić kroki wymagane do zobaczenia tego zachowania? Próbowałem komentować zamknięte żądanie ściągnięcia (nie działało), komentując zamkniętą prośbę o pociągnięcie i pchając do oddziału, który ciągnął (nie działał). Coś jeszcze do wypróbowania? Czy żądanie ściągnięcia musi zostać scalone, a później jakoś usunięte? –

+0

Nie wiem, co kryje się za ukrytym wymogiem. Może być dowolną (przesłałem nową zmianę dla żądania pobrania, jestem członkiem właściciela projektu, inne ...) –

+0

Próbowałem już wszystkiego, o czym wspomniałeś, nadal nie widzisz. Jestem właścicielem repozytorium. Wyszukiwanie w Google dla "Prześlij i ponownie otwórz GitHub" zapewnia jedno trafienie - tę stronę. Wszelkie dodatkowe informacje byłyby niezwykle pomocne. Czy Twoja prośba o odciągnięcie została początkowo odrzucona? –

3

Wystarczy wyprowadzić nowy oddział z istniejącej gałęzi, w której wykonano dodatkowe 1 zatwierdzenie. Stamtąd prześlij prośbę o pociągnięcie.

+1

To spowoduje powstanie nowego żądania pobrania z brakiem historii oryginału. – Dave

+1

Tak właśnie zrobiłem. Tak, historia jest mniej liniowa, ale dla mnie jest OK. – possen

3

Można użyć przywrócić działanie:

enter image description here

Stworzy kolejną prośbę ściągania Cofanie wszystkie zmiany uczynił w połączonego PR.

+0

To nie jest najlepsza praktyka :) – antonbormotov

+0

@antonbormotov czy możesz zaproponować lepsze podejście? –

+0

Załóżmy, że połączyliśmy pr z zatwierdzeniami (mA i mB) do stabilnej gałęzi, którą chcemy przywrócić. Po scaleniu "przywróć" pr, historia będzie wyglądać jak drzewo zatwierdzeń: X-Y-mA-mB-C-D-rA-rB-E-F. Dlaczego chcesz zobaczyć wszystkie te zatwierdzenia w historii, które stosują zmiany (mA, mB), a następnie je anulować (rA, rB)? Lepiej jest zmienić i usunąć te "złe" poprawki mA i mB ze stabilnej gałęzi i zachować historię w czystości. Oczywiście ma to sens, jeśli scalanie było stosunkowo niedawne. – antonbormotov

Powiązane problemy