Cosa sono le richieste pull di Git e come vengono utilizzate??

Contenuti

Logo Git

Le pull request sono una caratteristica dei servizi git online come Github e Gitlab. Consentono a chiunque di richiedere l'aggiunta di modifiche, anche se non hanno accesso al repository. Analizzeremo come funzionano e come utilizzarli per la collaborazione open source.

Cosa fa una richiesta pull?

Nonostante quello che può sembrare, git come strumento è un sistema completamente decentralizzato. Ciò significa che il repository su Github.com e il repository sul tuo computer locale non sono diversi l'uno dall'altro. Non ti stai connettendo per Github per lavorare su un repository, stai copiando il codice a partire dal Github nel tuo repository locale e lavorandoci sopra.

Quando vuoi inviare modifiche, può eseguire il commit ed eseguire git push, inviando i tuoi aggiornamenti ad a “a distanza” dato, che può essere qualsiasi altro repository Git, ma in generale è un servizio ospitato online come Github, Bitbucket o Gitlab. Questo aggiorna il repository remoto in modo che sia sincronizzato con il tuo repository.

Nonostante questo, funziona solo quando hai il permesso di inviare conferme, generalmente configurato con una password o chiave SSH. Questo è dato solo ai membri dell'organizzazione che controllano il repository; caso opposto, tutti potrebbero alterare la storia di git. Se non sei un membro dell'organizzazione, Cosa dovresti fare quando vuoi apportare modifiche?

Bene, c'è un secondo modo per aggiornare un repository git?:git pull. Probabilmente lo fai spesso ogni volta che i tuoi colleghi apportano modifiche invadenti.. Quindi, stai scaricando i commit dal repository remoto e li sincronizzi con il tuo repository locale.

Ma, Git è decentralizzato, quindi non c'è davvero alcuna differenza tra il tuo repository e il repository remoto. Puoi davvero correre git pull l'altro modo, dal server, e questo è il cuore di ciò che fa funzionare le pull request.

Una richiesta pull è solo per te da dire al server remoto (e le persone che lo mantengono) che hai dei commit aggiornati che ti interesserebbe farli rivedere e integrare con il repository remoto. Se accettano le modifiche, il repository remoto verrà eseguito git pull contro il tuo repository locale, integrando il codice senza dover avere una chiave SSH autorizzata per farlo.

La spina dorsale della collaborazione open source

Le richieste pull sono costantemente utilizzate per le librerie open source. Dopotutto, Gran parte del motivo per l'open source è che qualsiasi sviluppatore può contribuire al progetto se il suo codice è utile.

Le pull request sono ciò che lo fa funzionare. I responsabili della manutenzione del progetto, gli amministratori che lo controllano, sono loro che rivedono regolarmente le pull request e decidono se integrare o meno il codice, o se alcuni errori devono essere corretti prima che sia pronto.

Le pull request non sono esattamente una caratteristica di git di per sé, quindi l'esatta implementazione di essi varierà in base al servizio. Ma, per Github, troverai le richieste pull nella barra dei menu di un repository, che mostra un elenco di richieste aperte e chiuse che puoi filtrare per.

Se fai clic su uno di essi, puoi vedere i commenti fatti dal richiedente, così come le conferme ad esso associate.

Se sei responsabile della manutenzione del repository, puoi rivedere e unire la richiesta. oh, se hai problemi con lui devi discutere, potete lasciare un commento e lavorare insieme sul codice. Questa è una grande ragione per cui gli spazi pubblici come Github sono ottimi per la collaborazione open source., Anche qualcosa di semplice come cambiare la formulazione della documentazione può essere fatto in modo collaborativo da chiunque.

Le pull request sono diverse dai problemi. Il monitoraggio dei problemi è una funzionalità di molti servizi come Github che consente facili correzioni di bug e collaborazione pubblica per nuove funzionalità. Essenzialmente, ogni argomento ha un argomento che i manutentori e la comunità possono discutere. Come esempio, dotnet/csharplang è il repository ufficiale per la discussione su come è progettato il C # come linguaggio di programmazione. Se vai agli argomenti, troverai molte persone che discutono concetti per future iterazioni del linguaggio:

Non tutti i problemi portano a richieste pull. Se il responsabile della manutenzione risolve il problema, non importa. Se un collaboratore risolve il problema, dovrai inviare una richiesta pull.

Tutte le richieste pull vengono rifiutate o portano direttamente a modifiche del codice nel repository. I problemi sono solo un modo per tenere traccia dei progressi dello sviluppo e dei bug che devono essere corretti.

Fare richieste pull

Ancora, i passaggi esatti per questo variano a seconda del servizio che stai utilizzando, ma la maggior parte delle collaborazioni open source avviene su Github, quindi mostreremo i passaggi per questo.

Vai al repository per il quale desideri effettuare una richiesta e fai clic “Nuova richiesta di pull” nella scheda Richieste pull:

Hai due opzioni qui. Se sei un membro del repository e vuoi unire il tuo branch delle funzionalità nel branch principale, puoi scegliere i due rami.

Se stai lavorando su un repository open source, dovrai eseguire il fork del repository e inviarlo a Github con il tuo account. Dopo, Puoi scegliere “confrontare tra forchette” per unire il tuo ramo principale nel tuo ramo principale.

Una volta fatto questo, la richiesta pull sarà aperta alla discussione, e dovrai semplicemente aspettare di sentire i manutentori.

Intanto, puoi controllare lo stato di tutte le richieste pull in cui sei coinvolto con la scheda “Richieste di pull” nella barra dell'intestazione principale.

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.