Vad är exakt en dragförfrågan?

Detta har förgrenats från min tidigare fråga: Kan jag välja vem som kan bidra till mitt Open Source-projekt?

Jag har aldrig jobbat med programvara med öppen källkod förut och utvecklat mina miniprogram som jag hoppas kunna släppa till App Store ibland i sommar, men jag känner inte till det sätt som mest öppen källkod utvecklingsstrukturer är inställda (gafflar, huvudförvar …).

En sak som dykt upp var nämnandet av en pull-begäran. Vad är egentligen en pull-begäran?

Svar

Termen ”pull-begäran” kommer från git, där git pull -kommandot används för att slå samman en annan databas till din lokala. Så om någon annan har en kopia av ditt git -förvar och gör ändringar i det så att de skulle vilja ha dig för att införliva kan de be dig att pull ändringarna från deras förvar; de ”re begär en pull, därav termen” pull-begäran ”.

Nuförtiden tenderar detta för de flesta användare att döljas bakom ett grafiskt gränssnitt av något slag, på Github eller Bitbucket eller via Gerrit till exempel; men principen förblir densamma: någon kopierar ditt arkiv, gör ändringar och begär att de slås samman i din egen kopia, antagligen efter att du har granskat dem.

Kommentarer

  • Git har också ett git request-pull kommando. Detta ger ett skriftligt meddelande som du kan skicka till någon annan och bjuder in dem att använda git pull för att införliva ditt arbete i deras kopia av programvaran.
  • Kan inte förklaras tydligare för nybörjare.

Svar

Om du har distribuerade versionskontroll -system, varje utvecklare har en kopia av hela förvaret. Om du ändrar något till programvaran, gör du dina ändringar till ditt lokala förvar. Om olika förvar skulle ha dessa ändringar kan du trycka på ändringarna (flytta ändringarna till ett annat förvar du har rätt att skriva till) eller dra ändringarna (kopiera revisionen framåt m andra förvar till dina egna). Eftersom många projekt har ett huvudförvar är en pull-begäran begäran att underhållaren drar dina ändringar.

Läser upp lite på det , det verkar som att termen används också på icke-distribuerad versionskontroll, om en användare ber om att hans patchar ska inkluderas i projektets huvudgren. En annan läsning speciellt för github: https://help.github.com/articles/using-pull-requests/

Svar

En pull-begäran är relaterad till versionskontrollsystem. Du kan ha flera uppsättningar användare:

  • Administratörer / ägare
  • Bidragsgivare
  • Testare

Du vill var och en av dessa människor för att kunna göra olika saker:

  • Administratörer / ägare
    Dessa människor kan lita på. De kan ha full tillgång till förvaret i fråga, inklusive fullständiga rättigheter att begå vad de vill när de vill.
  • Bidragsgivare
    Dessa kan vara slumpmässiga personer från Internet; de kan vara mindre människor i ett företag. Hur som helst vill du antagligen inte att de ska kunna begå sig direkt till kodbasen – du vill granska deras ändringar först.

Det är här pullbegäranden kommer in. Istället för att tillåta raka ändringar av kodbasen från dina bidragsgivare, de kommer istället att gaffla förvaret, skapa en kopia på sin lokala maskin och utveckla det. När de är klara kan de skapa en pull-begäran som innehåller deras uppdaterade koda. Någon i den högre gruppen kan sedan granska sina ändringar för att vara korrekta och följa standarderna och slå samman deras ändringar om de överensstämmer.

Kommentarer

  • Något utanför ämnet, men även de som kan direkt slå samman sina egna ändringar bör skicka PR för sina kamrater att granska. Förutsatt att du ' arbetar med ett team som är. Om du ' inte är, antar jag att ' är vad CodeReview är för.
  • OK. Så stegen är: du gafflar huvudrepetitionen, drar den till din dator, modifierar den, förbinder dig och trycker på till din gaffelgren och begär sedan administratören att dra och slå samman från din gaffelgren till huvudgrenen?

Svar

En pull-begäran (PR) är en metod för att skicka bidrag till ett öppet utvecklingsprojekt. Det inträffar när en utvecklare ber om att ändringar som görs åt ett externt arkiv ska övervägas för att ingå i projektets huvudförvar efter peer review.

Källa: Vad är en dragförfrågan? vid OSS Watch

Enkelt exempel är när du klonar / gafflar öppen källkod, gör några ändringar / åtaganden och för att slå samman ändringarna i huvudförvaret måste du skicka dragbegäran som består av alla dina åtaganden grupperade i en logisk bit så att den kan vara granskas av andra utvecklare.

Detta har vissa fördelar jämfört med standardförpliktelser och pressar eftersom du har ytterligare några ögonpar att kontrollera och undviker vanliga / dolda problem / misstag innan de faktiska ändringarna.

Se några PR-exempel:

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *