Terminologia używana do scalania oddziału z oficjalnym repozytorium to „żądanie ściągnięcia”. Jest to mylące, ponieważ wydaje się, że proszę o przekazanie moich zmian do oficjalnego repozytorium.
Dlaczego nazywa się to żądaniem ściągania, a nie żądaniem push?
git
github
pull-request
Alejandro Sanz Díaz
źródło
źródło
git push
. Dla mnie to mówi wszystko ... (tak, mogą wydać polecenie git pull, a następnie git push, ale prośba o push została zakończona)merge requests
. O wiele jaśniejsze, IMHO. :)Odpowiedzi:
Jeśli masz zmianę kodu w swoim repozytorium i chcesz przenieść go do repozytorium docelowego, to:
git push
).git pull
z drugiego repozytorium).„Żądanie ściągnięcia” oznacza, że żądasz repozytorium docelowego, aby pobrać zmiany.
„Żądanie wypychania” byłoby repozytorium docelowym z prośbą o wypchnięcie zmian.
źródło
Gdy wysyłasz żądanie ściągnięcia, prosisz (z prośbą) oficjalnego właściciela repozytorium, aby wyciągnął pewne zmiany z własnego repozytorium. Stąd „żądanie ściągnięcia”.
źródło
tl; dr, ponieważ nie wolno mi pchać, po prostu ładnie poproszę właściciela repo, więc zdecydują się pociągnąć
Kto może przekazywać kod do repozytorium?
Gdyby ktokolwiek (być może zły, niewykształcony lub nieznany) mógł przyjść i powiedzieć tutaj, po prostu zepchnąłem to do twojej głównej gałęzi i zepsułem cały twój kod HAHAHA! ?
Na pewno nie chcesz, żeby to zrobił. Domyślnie siatka bezpieczeństwa jest ustawiona, więc nikt nie może naciskać na twoje repo. Państwo może ustawić innym jako współpracownik , następnie mogą popchnąć. Dajesz taki dostęp osobom, którym ufasz.
Jeśli więc nie jesteś współpracownikiem i nie będziesz próbował współpracować, pojawi się błąd wskazujący, że nie masz uprawnień.
Jak więc inni programiści mogą wypchnąć repozytorium, na które nie mają pozwolenia?
Nie możesz dać dostępu każdemu, ale chcesz dać innym punkt wyjścia / wejścia, aby mogli „poprosić właściciela repo o pobranie tego kodu do repo”. Mówiąc prosto, udostępniając repozytorium, mogą je rozwidlać ... wprowadzać zmiany we własnym widelcu. Pchnij zmiany do własnego widelca . Gdy znajdzie się we własnym zdalnym repozytorium:
Robią żądania ściągania ze swojego talerza i właściciel upstream repo (których nie można bezpośrednio do pchania) zdecyduje, czy nie połączyć żądania ciągnąć.
Również częściowo związane pytanie, które polecam przeczytać. Co dokładnie dzieje się podczas wypychania gitów? Dlaczego wypychanie git nie jest traktowane jak scalenie git?
źródło
Wyciągnij prośbę: Proszę cię, byś wyciągnął moją.
źródło
I >>> You
- Zmieniasz punkt odniesienia dwa razy w tym samym kontekście ... zamiastI >>>> You <<<< Mine
Chcę przekazać coś repozytorium innej osoby.
Nie mam uprawnień do pchania (lub ciągnięcia, jeśli o to chodzi).
Właściciel / współpracownicy ma uprawnienia. Mogą ciągnąć i pchać. Nie mogę naciskać.
Dlatego proszę ich, aby wykonali ode mnie pociągnięcie - co pośrednio oznacza, że proszę ich o zaakceptowanie mojego pchnięcia.
Więc nie ma prośby o push. Tylko dla pociągnięcia. I do przyjęcia push.
Dlatego prośba o „pociągnięcie”. I nie prośba „push”.
źródło
Kluczem do tych działań jest słowo „Prośba”. Możesz również pomyśleć o tym jako o treści: „Mam prośbę o wzięcie mojej pracy, zgadzasz się?” - „A Pull Request”.
Na początku jest to nieco mylące, ale w końcu ma sens.
źródło
Aby lepiej to zrozumieć i zapamiętać na zawsze, musisz to sobie wyobrazić.
Wyobraź sobie duże, żywe drzewo {jako twoje repozytorium}. Drzewo jest zbyt mocne, abyś mógł w niego wcisnąć gałąź lub dodać do niej nową część {symbolizuje utworzenie nowej gałęzi lub wpychasz do niej kod}, zamiast tego musisz poprosić drzewo o wciągnięcie gałęzi do pnia lub mieć zmiany od ciebie.
Termin „żądania ściągnięcia” pochodzi z natury rozproszonej. Zamiast po prostu wrzucać zmiany do repozytorium (tak jak w przypadku repozytorium scentralizowanego, np. Subversion), publikujesz zmiany oddzielnie i prosisz opiekuna o ich wprowadzenie. Opiekun może wtedy przejrzeć zmiany i wykonać polecenie ściągnięcia.
Więc w zasadzie „prosisz” facetów z dostępem do pisania do repozytorium, w którym chcesz uczestniczyć, aby „wyciągnąć” z repozytorium.
Żądania ściągania pozwalają innym informować o zmianach, które zostały przesłane do oddziału w repozytorium w serwisie GitHub. Po otwarciu żądania ściągnięcia możesz omówić i przejrzeć potencjalne zmiany ze współpracownikami oraz dodać zatwierdzenia, zanim zmiany zostaną scalone z gałęzią podstawową. Wyjaśnienie Github
źródło
Uważam, że to głupia terminologia, ponieważ chcę myśleć, że chcę WASIĆ coś do ciebie, a nie odwrotnie, prosząc kogoś innego o wyciągnięcie moich dodatków. Dlatego należy go zmienić na PUSH REQ. ponieważ jestem aktywną częścią. Strzała idzie w drugą stronę, zaczynając ode mnie, a nie od Goofy na drugim końcu. MOIM ZDANIEM.
źródło
Myśl w ten sposób. Lokalne repozytorium a zdalne repozytorium.
git push
) - innymi słowy, zdalne repozytorium pobiera od ciebie kody (lokalne).Prosisz o coś. Zapytaj więc siebie
źródło
Obawiam się, że większość z tych odpowiedzi odnosi się do pytania Co oznacza „żądanie ściągnięcia”? lub Co oznaczałoby „żądanie push”? zamiast pytania PO: Dlaczego nazywa się to żądaniem ściągania, a nie żądaniem push?
Zwykle ten rodzaj zastępowania pytań jest dopuszczalny, ale w tym przypadku jest oczywiste, że PO zna odpowiedzi na te pytania zastępcze, więc udzielenie odpowiedzi nie jest zbyt pomocne.
Tylko ludzie w GitHub, którzy wymyślili ten termin, wiedzą na pewno. Wydaje się jednak oczywiste, że ten wybór terminologiczny odzwierciedla coś w rodzaju następującego punktu widzenia dotyczącego zjawiska „zmian przychodzących do repozytorium z zewnątrz”: Opiekun wykonuje akcję (ciągnie) .
Żądanie jest jednak także działaniem, a wykonawcą tego działania nie jest opiekun, lecz podmiot przekazujący (który wykonał jeszcze więcej czynności, mianowicie pracę). Zatem termin „żądanie ściągnięcia” powoduje zamieszanie co do tego, kim jest agent . Ostatecznie zamieszanie powstaje z powodu rekurencyjnego charakteru żądania: żądanie jest zarówno działaniem głównego agenta, jak i żądaniem przyszłego działania drugiego agenta.
Sytuacja jest dość analogiczna do obecnie popularnych konstrukcji językowych, takich jak „zbudowaliśmy nasz dom” (w miejsce „zapłaciliśmy komuś innemu za budowę naszego domu”), ponieważ odpowiedzialność za pierwotne działanie została przeniesiona z oczywistego pierwotnego agenta na drugorzędny agent pełniący społeczną rolę kierowniczą.
Można z tego wywnioskować, że powodem wyboru terminologicznego jest legitymizacja poglądu, że praca menedżerska jest pracą najwyższej jakości . Ponadto przyczyną nieporozumień dotyczących tego wyboru terminologicznego może być to, że pracownicy niebędący menedżerami mają oczywiście inny punkt widzenia.
źródło