Cosè esattamente una richiesta pull?

Questo è derivato dalla mia domanda precedente: Posso selezionare chi può contribuire al mio progetto Open Source?

Non avendo mai lavorato su software open source prima e sviluppando le mie mini applicazioni che spero di rilasciare sullApp Store a volte questestate, non ho familiarità con il modo in cui la maggior parte dellopen source vengono impostate le strutture di sviluppo (fork, repository principali …).

Una cosa che è saltata fuori è stata la menzione di una richiesta pull. Cosè esattamente una richiesta pull?

Risposta

Il termine “richiesta pull” deriva da git, dove git pull viene utilizzato per unire un repository diverso a quello locale. Quindi, se qualcun altro ha una copia del tuo git repository e vi apporta le modifiche desiderate per incorporare, possono chiederti di pull le modifiche dal loro repository; “re requesting a pull, da cui il termine” pull request “.

Oggigiorno per la maggior parte degli utenti questo tende a essere nascosto dietro uninterfaccia grafica di qualche tipo, su Github o Bitbucket o tramite Gerrit, ad esempio; ma il principio rimane lo stesso: qualcuno copia il tuo repository, apporta modifiche e richiede che vengano uniti nella tua copia, presumibilmente dopo che li hai “esaminati.

Commenti

  • Git ha anche un comando git request-pull . Questo produce un messaggio scritto che puoi inviare a qualcun altro, invitandoli a utilizzare git pull per incorporare il tuo lavoro nella loro copia del software.
  • Non può essere spiegato più chiaramente per i principianti.

Rispondi

Se disponi di sistemi controllo versione distribuita , ogni sviluppatore ha una copia del repository completo. Se modifichi qualcosa al software, effettui il commit delle modifiche nel tuo repository locale. Se diversi repository dovrebbero avere queste modifiche, puoi eseguire il push delle modifiche (spostando le modifiche in un altro repository hai il diritto in cui scrivere) o eseguire il pull delle modifiche (copia la revisione da m altri repository al tuo). Poiché molti progetti hanno un repository principale, una richiesta pull è la richiesta che il manutentore tira le tue modifiche.

Leggendo un po su di esso , sembra che il termine sia usato anche per il controllo di versione non distribuito, se un utente chiede linclusione delle sue patch nel ramo principale del progetto. Unaltra lettura specialmente per GitHub: https://help.github.com/articles/using-pull-requests/

Risposta

Una richiesta pull è correlata ai sistemi di controllo della versione. Puoi avere diversi gruppi di utenti:

  • Amministratori / Proprietari
  • Collaboratori
  • Tester

Vuoi ciascuna di queste persone per essere in grado di fare cose diverse:

  • Amministratori / proprietari
    Ci si può fidare di queste persone. Potrebbero avere pieno accesso al repository in questione, inclusi i diritti completi per eseguire il commit di ciò che vogliono quando vogliono.
  • Contributors
    Queste potrebbero essere persone casuali da Internet; potrebbero essere persone inferiori in unazienda. In ogni caso, probabilmente non vuoi che siano in grado di eseguire il commit direttamente nella base di codice: devi prima rivedere le loro modifiche.

È qui che entrano in gioco le richieste pull. Invece di consentire modifiche dirette al codice base da parte dei tuoi contributori, invece biforcheranno il repository, creando una copia sul loro computer locale, e lo svilupperanno. Al termine, possono creare una richiesta pull contenente il loro aggiornamento codice. Qualcuno nel gruppo superiore può quindi rivedere le proprie modifiche per verificarne la correttezza e la complicità con gli standard e unire le modifiche se sono conformi.

Commenti

  • Leggermente fuori tema, ma anche le persone che possono unire direttamente le proprie modifiche dovrebbero inviare PR affinché i loro pari possano esaminarle. Supponendo che ' lavori in un team. Se ' non lo sei, immagino che ' sia CodeReview è per.
  • OK. Quindi i passaggi sono: si esegue il fork del repository principale, lo si trascina sul PC, lo si modifica, si esegue il commit e si esegue il push sul ramo biforcuto e quindi si richiede allamministratore di eseguire il pull e unire dal proprio ramo biforcuto a quello principale?

Risposta

Una richiesta pull (PR) è un metodo per inviare contributi a un progetto di sviluppo aperto. Si verifica quando uno sviluppatore chiede che le modifiche apportate a un repository esterno vengano prese in considerazione per linclusione nel repository principale di un progetto dopo la revisione tra pari.

Fonte: Cosè una richiesta pull? su OSS Watch

Semplice esempio è quando si clona / esegue il fork del repository open source, si apportano alcune modifiche / commit e per unire le modifiche nel repository principale, è necessario inviare la richiesta pull che consiste in tutti i commit raggruppati in un pezzo logico in modo che possa essere rivisto da altri sviluppatori.

Questo ha alcuni vantaggi rispetto ai commit e ai push standard poiché hai un paio di occhi in più per controllare ed evitare problemi comuni / nascosti / errori prima delle modifiche effettive.

Vedi alcuni esempi di pubbliche relazioni:

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *