2013-03-20 13 views
19

Dodałem to do mojego pliku .git/config:Jak przejść do żądania ściągnięcia na github?

fetch = +refs/pull/*/head:refs/remotes/origin/pr/* 

który pozwala mi wyciągnąć dół ciągnąć żądania dyferencjału, ale kiedy to sprawdzić to w rzeczywistości tworzy oddział z tej samej nazwie. Czy jest jakikolwiek sposób, aby przesłać do pr/2 i rzeczywiście przejść do żądania ściągnięcia zamiast iść do nowego oddziału o nazwie pr/2?

Odpowiedz

20

Żądanie pobrania to tylko żądanie scalenia określonego oddziału. Oznacza to, że zatwierdzenia dokonane w oddziale po otwarciu żądania pobrania będą uwzględnione w ewentualnym scaleniu.

Jeśli masz dostęp do oddziału, do którego żądanie pobrania wymaga scalenia, możesz zatwierdzić tę gałąź, a żądanie pobrania zaktualizuje się wraz ze zmianami.

Przykład:

pociągnięcie/3 żąda scalić hotfix w master

git fetch 
git checkout hotfix 
git pull origin hotfix 

dokonać zmian

git add . 
git commit -m "changes!" 
git push origin hotfix 

teraz Twój popełnić pojawi się w żądaniu przeciwsobnym.

+4

Należy pamiętać, że od [września 2016 (blog)) (https: // github.com/blog/2247 - Improveing-Cooperation-with-forks), teraz jest nawet możliwe na Github, aby opiekun zobowiązał się do oddziału żądania ściągnięcia w ** rozwidleniu ** projektu. Zobacz [stronę pomocy] (https://help.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-o-fork). –

0

Dobre pytanie. Ale byłbym zaskoczony, jeśli można:

$ cat .git/refs/pull/upstream/839 
f8a9f492098e154b4a8258a941af47c9ca017ada 

Nawet jeśli można jakoś zmienić, że odniesienie do tego, co lubisz, github ma inne metadane, że nie można łatwo zmienić. Tak więc stworzono lepsze podejście do tworzenia gałęzi.

Zobacz opakowanie wiersza poleceń github dla łatwiejszej interakcji github z linii poleceń: https://hub.github.com/

0

Klient GitHub pulpitu stworzy kolejną prośbę pull (PR), który zawiera oryginalne PR i zmiany, jeśli starają się scalić zmiany do PR, który wyrejestrowałeś.

Zrobiłem to z mojej głównej gałęzi, ale prawdopodobnie mógłbyś utworzyć inny oddział, a następnie utworzyć żądanie ściągnięcia do żądania wyciągnięcia. To wszystko jest dla mnie magiczne dzięki tym fajnym Git GUI.

4

Oto są „Łączenie poprzez linię poleceń” instrukcje GitHub jest dla wniosków pociągowych (jestem fulldecent, drugi facet jest OSPR):

Krok 1: Korzystając ze swojego repozytorium projektu, sprawdź nowy oddział i przetestować zmiany .

git checkout -b ospr-image-rendering master 
git pull https://github.com/ospr/FDWaveformView.git image-rendering 

Krok 2: Scal zmiany i aktualizację na GitHub.

git checkout master 
git merge --no-ff ospr-image-rendering 
git push origin master 

Oto dodatkowy krok, który wysyła swoje zmiany z powrotem w górę (?) Do inicjatora PR.

git push https://github.com/ospr/FDWaveformView.git ospr-image-rendering:image-rendering 
+2

Dzięki, dokładnie to, czego szukałem. Zauważ, że możesz pominąć/odroczyć krok 2 (połączenie z mistrzem) i po prostu popchnąć lokalne zmiany bezpośrednio do PR za pomocą trzeciego kroku. Ogólna forma to 'git push : '. – medmunds

Powiązane problemy