Contribuire in modo efficace a progetti Open Source Webmaker

Cosa starai creando

Contribuire a progetti open source ha molti vantaggi. Mentre contribuisci a un progetto di questo tipo, puoi imparare il modo professionale di sviluppo che viene implementato dalle grandi organizzazioni. Tali abilità si dimostrano molto utili per le carriere delle persone e li aiutano a imparare cose che potrebbero non essere in grado di apprendere durante la loro istruzione / lavoro.

Questo articolo è stato progettato per i principianti e gli sviluppatori intermedi che desiderano contribuire a progetti open source. Dimostrerò di contribuire al progetto Webmaker di Mozilla Foundation, per spiegare come puoi contribuire efficacemente ai progetti open source.

Case Study: Mozilla Webmaker

Passeremo attraverso l'intero processo di coinvolgimento in un progetto, dalla comprensione delle linee guida del contributo, usando un account GitHub e usando Git per usare Bugzilla in modo efficiente. Questo tutorial ti mostrerà come puoi unire le tue patch alla base di codice principale di un progetto. Userò l'esempio di un bug vecchio e semplice che ho risolto, quando avevo appena iniziato il contributo open source.

Prima di tutto, dovrai trovare il repository del progetto. Ad esempio, lavoreremo su Profilo componente di Webmaker.

https://github.com/mozilla/webmaker-profile-2

Accedi al tuo account GitHub e Forchetta il progetto. Dopo averlo fatto, avrai il repository biforcato che si trova sotto il tuo nome utente.

Ad esempio, ho avuto il seguente:

https://github.com/tanay1337/webmaker-profile-2

Dovrai installare Git sul tuo sistema. Puoi leggere le linee guida su come farlo.

In basso a destra, noterai una scatola come questa:

È possibile copiare quell'URL per clonare il repository nel proprio sistema. Ora, lancia Git in modalità riga di comando e inserisci il seguente comando.

git clone https://github.com/tanay1337/webmaker-profile-2.git

Questo importerà tutto il codice nel tuo sistema sotto una cartella chiamata webmaker-profilo-2. Le linee guida che contribuiscono sono solitamente presenti in un file chiamato CONTRIBUTING.md e le istruzioni di installazione sono in README.md. Leggi questi due documenti con molta attenzione. Contengono informazioni importanti per gli sviluppatori.

Inserisci Bugzilla!

Ora, dovrai trovare alcuni bug rilevanti e facili per iniziare. Per qualsiasi progetto relativo a Mozilla puoi usare Bugs Ahoy per trovare buoni primi bug e bug mentori specifici per il tuo set di abilità. Mozilla utilizza Bugzilla per l'archiviazione e la gestione dei bug e per la gestione delle richieste di funzionalità. Puoi accedere a Bugzilla usando Persona. Una volta trovato un bug pertinente, dovresti commentare quel bug che mostra il tuo interesse nel correggere il bug.

Puoi anche chiedere aiuto per trovare un file specifico nel codice sorgente in cui il bug è presente dagli sviluppatori dell'IRC di Mozilla. Sono un gruppo di persone davvero amichevoli che ti aiuteranno volentieri a risolvere il tuo primo bug. Nel caso in cui nessuno sia online, prova ad aggiungere un NEEDINFObandiera per il mentore menzionato nel bug e lui tornerà per aiutarti!

Salvataggio delle modifiche all'archivio locale

Ora, supponendo di aver risolto il bug e apportato le rispettive modifiche nei file localmente, sarà necessario vedere i file che sono stati modificati localmente usando il sistema di controllo della versione. Basta digitare il seguente comando nel webmaker-profilo-2 elenco.

stato git

Ciò fornirà i dettagli dei file modificati, nonché i nuovi file che sono stati aggiunti al repository locale. Se sei soddisfatto dei file che sono stati modificati, aggiungi i file modificati / nuovi all'area di staging.

aggiungi git names_of_files

Se tutto sta andando bene, allora puoi tranquillamente impegnare i file.

git commit -m "Il tuo messaggio qui"

Pulizia del registro di commit e modifiche push

Assicurati che il tuo commit non contenga spazi bianchi non necessari o nuove linee. È considerata una buona pratica denominare il messaggio qualcosa come "Correzione bug 1040556", per ragioni che spiegherò più avanti in questo articolo. I manutentori del repository preferiscono se si dispone di una singola richiesta di commit per pull. Quindi, se hai più di un commit in locale, dovresti rebase di loro.

git rebase -i HEAD ~ 2

Il comando precedente presuppone che tu abbia due commit, e -io è la bandiera per il rebasing interattivo. Mostrerà i due commit insieme ai loro messaggi, che avranno la parola raccogliere prefissata. Basta sostituire raccogliere con schiacciare a uno dei commit e sei a posto. La schermata successiva schiaccia semplicemente i messaggi di commit. 

Congratulazioni, hai ribadito con successo i commit. Ora devi solo trasferire le modifiche al tuo repository GitHub.

spingere

Oppure se hai già eseguito il push del primo commit e dopo il rebased, prova il seguente comando.

git push -f

Apertura di una richiesta di pull

Ora apri il tuo repository online e fai clic sul pulsante per Pull Requests e apri una nuova richiesta di pull.

Riempie automaticamente il titolo della richiesta di pull dal messaggio di commit e mostra la diff (sotto la figura mostra la diff per la mia richiesta pull).

Congratulazioni, hai fatto la tua prima richiesta di pull. Ma hai ancora bisogno di fare ancora un paio di cose. Copia l'URL della tua richiesta pull e apri il bug su Bugzilla. Selezionare Aggiungi un allegato e incollare l'URL della richiesta pull lì. Spuntare la casella di controllo che dice patch e aggiungere un flag di revisione per il proprio mentore.

Supponendo che la tua patch fosse corretta, il tuo mentore unirà la tua richiesta di pull nel repository principale e il bug verrà automaticamente risolto dal robot github in Bugzilla (questo succede solo se il nome della richiesta di commit e pull contiene il numero di bug).

Non c'è niente di più gioioso che vedere il codice che viene unito al codice base principale e distribuito sul sito Web principale utilizzato da milioni di utenti!

Spero che tu sia stato in grado di seguire i passaggi per correggere il tuo primo bug su Webmaker o su qualsiasi altro progetto open source simile.