Nie jestem pewien, ale mam niejasną pamięć tworzenia żądania ściągnięcia github z „Issue 4” lub czymś w tytule, i automatycznie przyłączyło się ono do Issue 4 w projekcie, do którego go przesyłałem. Ostatnio spróbowałem ponownie i nie zadziałało - po prostu stworzyłem zupełnie nowy problem. Nie widzę żadnych opcji, takich jak „Dołącz do wydania” na nowej stronie żądania ściągnięcia, ani „Otwórz nowe żądanie ściągnięcia dla tego problemu” na stronie wydania. Czy jest jakiś sposób, aby to zrobić, aby pomóc właścicielom projektów utrzymać czystą stronę problemów i uniknąć powielania?
Edycja : Aby to wyjaśnić, wiem, że utworzenie żądania ściągania zawsze tworzy nowy problem. Chciałbym zamiast tego dołączyć żądanie ściągnięcia do istniejącego problemu.
źródło
Odpowiedzi:
Projekt „hub” może to zrobić:
https://github.com/defunkt/hub
W repozytorium i oddziale, z którego chcesz wysłać żądanie ściągnięcia:
Korzysta z interfejsu API GitHub i dołącza żądanie ściągnięcia dla bieżącego oddziału do istniejącego numeru wydania 4.
EDYCJA: Komentarz @atomicules: Aby rozwinąć odpowiedź przez @MichaelMior, pełnym przykładem jest:
źródło
brew install hub
zainstalować z homebrewhub pull-request URL_TO_ISSUE
, to zadziałało dla mnie. Zastanawiam się, czy-i ISSUE_NUMBER
działa, tylko jeśli problem znajduje się w tym samym repozytorium (tj. Nie jest widelcem)hub pull-request -b USERNAME_OF_UPSTREAM_OWNER:UPSTREAM_BRANCH -h YOUR_USERNAME:YOUR_BRANCH URL_TO_ISSUE
Dodanie żądania ściągnięcia do istniejącego wcześniejszego problemu jest łatwe, zakładając, że rozwidlasz się przy użyciu zwykłych środków github .
Po prostu odwołaj się do problemu w komunikacie zatwierdzenia, używając dowolnego z obsługiwanych słów kluczowych :
Na przykład: „zatwierdzenie to naprawia numer 116”
Tekst odnoszący się do problemu nie musi pojawiać się w temacie zatwierdzenia.
Wciśnij swoje zatwierdzenie do repozytorium github, a żądanie ściągnięcia zostanie automatycznie dołączone do problemu.
Uwaga: Chociaż nie jest to wymagane, zdecydowanie zaleca się zatwierdzenie wszystkiego, co będzie częścią żądania ściągania, w osobnej gałęzi specyficznej dla tego problemu, ponieważ przyszłe zatwierdzenia w tej gałęzi zostaną dołączone do żądania ściągnięcia (automatycznie przez github ). Tak więc, jeśli nie utworzyłeś osobnej gałęzi, pozostawiłeś ją na master, a następnie kontynuowałeś rozwój, wtedy wszystkie twoje niepowiązane zmiany na master zostaną dołączone do twojego żądania ściągnięcia.
źródło
Możesz utworzyć żądanie ściągnięcia z istniejącego problemu za pomocą interfejsu API żądania ściągania :
Spowoduje to utworzenie żądania ściągnięcia:
technoweenie
w projekciefaraday
(https://api.github.com/repos/ technoweenie / faraday / pulls)synchrony
gałęzi wsmparkes
„fork” („head”: „ smparkes : synchrony ”)master
gałęzi wtechnoweenie
widelcu („base”: „ master ”)smparkes
(--user " smparkes ")źródło
--user "smparkes:password"
aby--user "smparkes"
wyświetlał się monit o podanie hasła interaktywnie.Innym możliwym narzędziem jest strona internetowa Issue2Pr, która zamienia twoje problemy w żądania ściągania .
To bardzo proste i skuteczne!
Zasoby:
źródło
Ta inna odpowiedź wyjaśnia, jak używać cURL (
curl
) do utworzenia żądania ściągnięcia z problemu za pośrednictwem interfejsu API GitHub . Oto jak to zrobić za pomocą HTTPie (http
), która tworzy łatwiejsze do odczytania i łatwiejsze do edycji polecenie:Następnie po wyświetleniu monitu wpisz hasło do GitHub.
Wyjaśniony przykład
Zalogowałeś się do GitHub przy użyciu nazwy użytkownika smparkes i hasła hunter2 . Widziałeś już repozytorium technoweenie , pomyślałeś o czymś, co powinno zostać zmienione, i zrobiłeś problem z tym repozytorium, numer 15 . Później okazuje się, że nikt inny nie dokonał Twojej proponowanej zmiany, a Ty również masz czas, aby to zrobić samodzielnie. Ty widelec Faraday do własnego konta , a następnie zapisać zmiany i wcisnąć je do widelca pod oddział o nazwie synchronizacji . Myślisz, że technoweenie powinno pociągnąć te zmiany do mistrzagałąź jego repozytorium. Oto polecenie, które napiszesz, aby przekonwertować poprzedni problem na żądanie ściągnięcia w tej sytuacji:
Teraz numer 15 to żądanie ściągnięcia.
źródło
jeśli używasz uwierzytelniania 2-czynnikowego z github, musisz podać authtoken jako nagłówek w żądaniu:
źródło
Możesz także użyć Guba, aby przesłać prośby o ściągnięcie swojego problemu.
Pomaga również w użyciu właściwego stylu prośby o widelec / pociągnięcie.
Edycja: 10/5/2013
Aby Gub przesłał żądanie ściągnięcia dla problemu nr 123, musisz uruchomić następujące czynności:
Spowoduje to utworzenie nowego oddziału numer 123. Po zakończeniu pracy nad problemem wykonaj:
Voila!
Uwaga: Jestem autorem klejnotu Gub.
źródło
Zamiast robić to po stronie klienta (z
hub
, jak w odpowiedzi Christiana Oudarda ), teraz (luty 2020) możesz to zrobić po stronie serwera (github.com)Zobacz „ Wyświetlanie i łączenie problemów oraz pobieranie żądań z paska bocznego ”
Dokumentacja :
I jest interfejs API wyszukiwania z tą funkcją.
źródło
Korzystając z narzędzia git-hub , możesz to zrobić za pomocą:
$> git hub pull attach 123
To przekształciłoby problem nr 123 w żądanie ściągnięcia nr 123, utrzymując w ten sposób całą dyskusję na temat problemu w jednym miejscu.
źródło
Jeśli masz włączone 2FA, możesz użyć tokena z HTTPie:
Dzięki temu oddział
issue_2
przekształci problem nr 2 w żądanie ściągnięcia.źródło