Hva er egentlig en pull-forespørsel?

Dette forgrenet seg fra det forrige spørsmålet mitt: Kan jeg velge hvem som kan bidra til Open Source-prosjektet mitt?

Etter at jeg aldri har jobbet med åpen kildekode-programvare tidligere, og utviklet mine egne miniprogrammer som jeg håper å gi ut til App Store noen ganger i sommer, er jeg ganske ukjent med den mest åpne kildekoden utviklingsstrukturer er satt opp (gafler, hovedregistre …).

En ting som dukket opp var omtale av en pull-forespørsel. Hva er egentlig en pull-forespørsel?

Svar

Begrepet «pull request» kommer fra git, der git pull -kommandoen brukes til å slå sammen et annet arkiv i det lokale. Hvis noen andre har en kopi av git -lageret ditt, og gjør endringer i det slik at de ønsker deg for å innlemme kan de be deg om å pull endringene fra depotet deres; de «ber om en pull, derav begrepet» pull-forespørsel «.

I dag pleier dette for de fleste brukere å være skjult bak et grafisk grensesnitt av noe slag, på Github eller Bitbucket eller via Gerrit for eksempel; men prinsippet forblir det samme: noen kopierer depotet ditt, gjør endringer og ber om at de slås sammen i din egen kopi, antagelig etter at du har «gjennomgått dem.

Kommentarer

  • Git har også en git request-pull kommando. Dette gir en skriftlig melding som du kan sende til noen andre, og inviterer dem til å bruke git pull for å inkludere arbeidet ditt i kopien av programvaren.
  • Kan ikke forklares tydeligere for nybegynnere.

Svar

Hvis du har distribuerte versjonskontroll -systemer, hver utvikler har en kopi av hele depotet. Hvis du endrer noe i programvaren, forplikter du endringene til det lokale depotet. Hvis forskjellige repositorier skulle ha disse endringene, kan du skyve endringene (flytte endringene til et annet depot du har rett å skrive til) eller trekke endringene (kopier revisjonen fra m andre arkiver til dine egne). Ettersom mange prosjekter har et hovedlager, er en pull-forespørsel forespørselen om at vedlikeholderen trekker endringene dine.

Å lese opp litt på den , det ser ut til at begrepet brukes også på ikke-distribuert versjonskontroll, hvis en bruker ber om å inkludere lappene sine i hovedgrenen til prosjektet. En annen lese spesielt for github: https://help.github.com/articles/using-pull-requests/

Svar

En pull-forespørsel er relatert til versjonskontrollsystemer. Du kan ha flere sett med brukere:

  • Administratorer / eiere
  • Bidragsytere
  • Testere

Du vil ha hver av disse menneskene for å kunne gjøre forskjellige ting:

  • Administratorer / eiere
    Disse menneskene kan man stole på. De kan ha full tilgang til det aktuelle arkivet, inkludert full rett til å begå det de vil når de vil.
  • Bidragsytere
    Dette kan være tilfeldige personer fra Internett; de kan være mindre mennesker i et selskap. Uansett vil du sannsynligvis ikke at de skal kunne forplikte seg rett til kodebasen – du vil først gjennomgå endringene.

Det er her trekkforespørsler kommer inn. I stedet for å tillate rette endringer i kodebasen fra bidragsyterne dine, de vil i stedet gaffel depotet, lage en kopi på sin lokale maskin, og utvikle det. Når de er ferdige, kan de opprette en pull-forespørsel som inneholder sine oppdaterte kode. Noen i den høyere gruppen kan da se på endringene for å være korrekte og medvirke til standardene, og slå sammen endringene hvis de overholder.

Kommentarer

  • Litt utenfor emnet, men selv de som kan direkte slå sammen sine egne endringer, bør sende inn PR-er for jevnaldrende til vurdering. Forutsatt at du ' jobber med et team som er. Hvis du ' ikke er det, antar jeg at ' er hva CodeReview er for.
  • OK. Så trinnene er: du forkaster hovedreposisjonen, trekker den til PC-en din, endrer den, forplikter og skyver til den gaffelgrenen din og deretter ber administratoren om å trekke og slå seg sammen fra din gaffelgren til hoveddelen?

Svar

En pull-forespørsel (PR) er en metode for å sende inn bidrag til et åpent utviklingsprosjekt. Det oppstår når en utvikler ber om at endringer som er forpliktet til et eksternt arkiv, skal vurderes for inkludering i prosjektets hovedlager etter fagfellevurderingen.

Kilde: Hva er en pull-forespørsel? på OSS Watch

Enkelt eksempel er når du kloner / forkoker åpen kildekodedepot, gjør noen endringer / forplikter, og for å slå sammen endringene i hovedregisteret, må du sende pullforespørselen som består av alle dine forpliktelser gruppert i ett logisk stykke gjennomgått av andre utviklere.

Dette har noen fordeler i forhold til standardforpliktelser og presser, ettersom du har noen ekstra par øyne å sjekke og unngå vanlige / skjulte problemer / feil før de faktiske endringene.

Se noen PR-eksempler:

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *