Jak utworzyć i / lub wysłać żądanie ściągnięcia do innego repozytorium hostowanego na GitHub?
git
github
pull-request
git-fork
Tim Peterson
źródło
źródło
Odpowiedzi:
(Oprócz oficjalnej strony „ Pomoc GitHub” Korzystanie z żądań ściągania ”,
zobacz także„ Rozwidlenie kontra rozgałęzienie w GitHub ”,„ Jaka jest różnica między początkiem a początkiem w GitHub ”)
Kilka wskazówek na temat wniosków o pociągnięcie:
Zakładając, że najpierw rozwidliłeś repozytorium , oto, co powinieneś zrobić w tym posiadaniu:
master
której możesz mieć ochotę gromadzić i mieszać kilka modyfikacji na raz.origin/master
(upewniając się, że łatka nadal działa) zaktualizuje żądanie ściągnięcia automatycznie (nie musisz niczego klikać)git remote prune origin
). GUI GitHub zaproponuje ci usunięcie swojego oddziału na stronie żądania ściągania.Uwaga: aby napisać sam wniosek Pull-Request, zobacz „ Jak napisać idealne żądanie Pull ” (styczeń 2015, GitHub)
Marzec 2016: Nowa opcja przycisku scalania PR: patrz „ Zgadza się squash Github z interfejsu internetowego na żądanie ściągnięcia po komentarzach? ”.
Opiekun repo może wybrać
merge --squash
te PR.Po zgłoszeniu prośby
Jeśli chodzi o ostatni punkt, od 10 kwietnia 2013 r. „ Przeprojektowany przycisk scalania ” gałąź jest dla ciebie usuwana:
Potwierdza to najlepszą praktykę usuwania oddziału po scaleniu żądania ściągnięcia.
pull-request vs. request-pull
żądanie ściągnięcia nie jest oficjalnym terminem „git”.
Git używa polecenia
request-pull
(!) Do zbudowania żądania scalenia:„podsumowuje zmiany między dwoma zatwierdzeniami standardowego wyjścia i dołącza podany adres URL do wygenerowanego podsumowania”.
Github wprowadza własną wersję od pierwszego dnia (luty 2008 r.) , Ale przeprojektował tę funkcję w maju 2010 r. , Stwierdzając, że:
e-notatki dla „reposotory” (sic)
<humour>
To (żądanie ściągnięcia) nie jest nawet poprawnie zdefiniowane przez GitHub!
Na szczęście prawdziwa organizacja wiadomości biznesowych wiedziałaby o tym, i jest e-notatka, która zastąpi pull-replace przez „e-note” :
Jeśli tak repo O Tory potrzebuje e-note ... zapytać Fox Biznes . Oni wiedzą.
</humour>
źródło
branch
Vs.master
decyzja wydaje się być krytyczna dla biorąc moją / odpowiedź GitHub jest z roztworu teoretycznej do czegoś, co można by właściwie wykorzystać.git pull --rebase upstream/master
jest w porządku.Aby dowiedzieć się, jak złożyć prośbę o ściągnięcie, po prostu podążyłem za dwiema oddzielnymi stronami pomocy na Github (linkami poniżej) Następujące polecenia wiersza poleceń dotyczą części 1 . Część 2 , rzeczywista prośba ściągnięcia, jest wykonywana całkowicie na stronie internetowej Github.
Część 1 : rozwidlaj czyjeś repo: https://help.github.com/articles/fork-a-repo
git clone->cd dwolla-php->git remote->git fetch
powyższą sekwencję, aby sklonować widelec gdzieś w komputerze (tzn. „skopiuj / wklej” go, w tym przypadkuthird_party TimPeterson$
:) i zsynchronizuj go z master repo (Dwolla / dwolla-php)git add->git commit->git push
powyższą sekwencję, aby przekazać zmiany do zdalnego repozytorium, tj. rozwidlenia na Github (tim-peterson / dwolla-php)Część 2 : złóż wniosek ściągający: https://help.github.com/articles/using-pull-requests
źródło
Tims-MacBook-Pro:third_party TimPeterson$
ponieważ jest to tutorial dla początkujących i te monity pomagają zorientować użytkownika.git fetch upstream
, czy nie musisz scalać wcześniejszych zmian z lokalną kopią, używającgit checkout master
wtedygit merge upstream/master
?Aby złożyć żądanie ściągnięcia, wykonaj następujące czynności:
Zajęło mi to trochę czasu, mam nadzieję, że to komuś pomoże.
źródło
Rozpocząłem projekt, aby pomóc ludziom składającym pierwsze żądanie ściągnięcia z GitHub. Możesz zrobić praktyczny samouczek, aby zrobić swój pierwszy PR tutaj
Przepływ pracy jest prosty jak
git clone <clone url you copied earlier>
git checkout -b branch-name
git commit
git push origin branch-name
Compare and pull request
przyciskźródło
Dla tych z nas, którzy mają konto github.com, ale otrzymują nieprzyjemny komunikat o błędzie, gdy wpisujemy „git” w wierszu polecenia, oto jak to zrobić w przeglądarce :)
źródło
Postępowałem zgodnie z instrukcjami Tima Petersona, ale utworzyłem lokalny oddział dla moich zmian. Jednak po wypchnięciu nie widziałem nowego oddziału w GitHub. Rozwiązaniem było dodanie -u do polecenia push:
źródło
tim-peterson
drugiDwolla
Napisałem program bash, który wykonuje całą pracę związaną z tworzeniem dla ciebie gałęzi PR. Wykonuje rozwidlanie w razie potrzeby, synchronizuje się z nadrzędnym, konfiguruje zdalny nadrzędny itp. I wystarczy zatwierdzić modyfikacje, wcisnąć i przesłać PR.
Oto jak go uruchomić:
Znajdziesz tutaj program , a jego repozytorium zawiera także przewodnik krok po kroku dotyczący ręcznego wykonywania tego samego procesu, jeśli chcesz zrozumieć, jak to działa, a także dodatkowe informacje o tym, jak utrzymać gałąź funkcji na bieżąco - umówić się z głównym mistrzem i innymi przydatnymi ciekawostkami.
źródło
Najprostszy GitHub Pull Zapytanie jest za pomocą interfejsu WWW bez użycia git.
Kliknij ikonę ołówka ,
wyszukaj tekst w pobliżu lokalizacji, wprowadź odpowiednie zmiany, a następnie wyświetl ich podgląd, aby potwierdzić. Podaj proponowanej zmianie opis do 50 znaków i opcjonalnie rozszerzony opis, a następnie kliknij przycisk Proponuj zmianę pliku .
Jeśli to czytasz, nie będziesz mieć dostępu do zapisu w repozytorium (folderach projektu), więc GitHub utworzy kopię repozytorium (w rzeczywistości oddziału) na Twoim koncie. Kliknij przycisk Utwórz żądanie ściągnięcia .
źródło